Перенаправление вывода с несколько команд [дубликат]

Для справки, вам не нужны cat и grep, поскольку sed могут это сделать только:

sed '/URL/!d;s/http/&s/'

В любом случае, предполагая, что вы запускаете цепочку команд, которые производят одну строку вывода, вы можете сделать:

... | tee -a report.txt | sed 's|[\&/]|\\&|g;s|.*|s/URL/&/g|' | sed -f- -i infile.json

Это добавляет выходные данные в report.txt, но также передает его в sed, которая превращает его в команду sed, которая затем передается в другую команду sed, который отредактирует файл .json на месте.

1
22.11.2016, 11:47
2 ответа

Вы можете решить эту проблему, отредактировав свою команду следующим образом:

ps -eo pid,comm,cmd,start,etime | grep -i qtcreator | grep -v grep > file.txt

Таким образом вы исключаете ward grep из результата первого grep

0
28.01.2020, 01:07

Я думаю, что более чистым способом было бы использовать pgrep с ps :

ps -p $(pgrep <program-name>)


[iahmad@localhost]$ ps -p $(pgrep sendmail)
PID TTY      STAT   TIME COMMAND
32373 ?        Ss     0:59 sendmail: accepting connections
32383 ?        Ss     0:00 sendmail: Queue runner@01:00:00 for    /var/spool/clientmqueue
0
28.01.2020, 01:07

Теги

Похожие вопросы