Size: a a a

2021 May 29

DK

Denis KDI in pro.bash
точнее
источник

DK

Denis KDI in pro.bash
а $() это определение переменной
источник

DK

Denis KDI in pro.bash
вроде как
источник

DK

Denis KDI in pro.bash
или я вообще неправ?
источник

F

Fljúgandi Kettlingur... in pro.bash
почти, но близко. $( cmd )  это строка, которая заменяется на stdout команды cmd

cat $( echo narod; echo 15 ).txt - например, выведет содержимое файла narod15.txt

Если ты просто хочешь засунуть вывод авк в файл - ну и пиши awk >> file, никакие подмены и каты тебе не нужны
источник

F

Fljúgandi Kettlingur... in pro.bash
ну вообще cat это сокращение от concatenate, вывести содержимое одного или нескольких файлов
источник

DK

Denis KDI in pro.bash
Кстати а символ | так же пишется
источник

DK

Denis KDI in pro.bash
?
источник

F

Fljúgandi Kettlingur... in pro.bash
пайп? Да
источник

DK

Denis KDI in pro.bash
отлично
источник

F

Fljúgandi Kettlingur... in pro.bash
он перенаправляет поток stdout команды слева от него в stdin команды справа
источник

DK

Denis KDI in pro.bash
Вы главное не злитесь на тупые вопросы, я только нормально сел за изучение
источник

DK

Denis KDI in pro.bash
awk '/500/' /var/log/nginx/access.log) >> /my_log/500.log
tail -f -n0 /var/log/nginx/access.log | awk '/500/' >> /my_log/500.log
awk '/400/' /var/log/nginx/access.log >> /my_log/400.log
tail -f -n0 /var/log/nginx/access.log | awk '/400/' >> /my_log/400.log
источник

DK

Denis KDI in pro.bash
Не срабатывает
источник

F

Fljúgandi Kettlingur... in pro.bash
хм, ну это должно упираться во вторую команду, потому что tail -f не останавливается, пока его не пристрелишь.
И убери ) из первой
источник

DK

Denis KDI in pro.bash
while true;
do
   cat /var/log/nginx/access.log >> /my_log/nginx.log
   cat /var/log/nginx/error.log >> /my_log/nginx.log
   if [ $(stat --printf '%s' "/my_log/nginx.log") -gt 512000 ]
       then
       echo -n > /my_log/nginx.log
       echo "Fille clear done date +%Y_%m_%d__%H_%M_%S" >> /my_log/nginx_clear.log
   fi
   sleep 5;
done
awk '/500/' /var/log/nginx/access.log >> /my_log/500.log
tail -f -n0 /var/log/nginx/access.log | awk '/500/' >> /my_log/500.log
awk '/400/' /var/log/nginx/access.log >> /my_log/400.log
tail -f -n0 /var/log/nginx/access.log | awk '/400/' >> /my_log/400.log
источник

DK

Denis KDI in pro.bash
Я так понимаю что это из за первого цикла
источник

F

Fljúgandi Kettlingur... in pro.bash
кстати, cat file1 >> file; cat file2 >> file легко и приятно пишется в виде cat file1 file2 >> file - я же написал выше, cat - сокращение от concatenate.

Мне кажется, echo -n > file лучше писать truncate -s0 file

Первый цикл у тебя тут будет работать всегда, в нем брейка нету.
источник

DK

Denis KDI in pro.bash
То есть мне сначала вторую часть, потом цикл писать?
источник

зк

захар который... in pro.bash
Почему, когда в кейсе делаешь, алгоритм работает:

    #!/bin/bash

   case "$1" in
 "e") xsel -cb
      text=""
          while read -r file
      do
    text="$text""$file""\n"
    "$SCRIPT_PATH" -f "$file"
      done
   esac
источник