Не обращая внимания на то, что в вашем awk отсутствует фигурная скобка, и если предположить, что список содержит одну строку, почему бы и нет: NAME = $ (cat list | awk ' {напечатать $ 1 ".модификации_to_name "') && checkStatus | grep pertinentinfo | cleanupFormatOfPertinentInfo | sendAlert $ NAME
Если вы хотите перебирать список из нескольких строк и каждый раз оценивать имя как что-то другое:
при чтении NAME; выполните checkStatus | grep pertinentinfo | cleanupFormatOfPertinentInfo | sendAlert $ NAME; done
Это похоже на вопрос XY .
{{1} }
grep -A 10
можно использовать для печати строки с совпадающим словом и десятью строками после (вы можете заменить 10 любым числом, которое хотите )но, поскольку вы не указали, сколько строк в файле, вы можете вместо этого используйте следующее:
sed -n '/word/,$p' file >> file2
Это напечатает строку со словом и всеми строками послесловия, а затем добавит их в другой файл. Таким образом, вам не нужно учитывать общее количество строк, если файл содержит большое количество строк, например 1000 или более.
Другой вариант — использовать awk:
awk "/word/, 0" infile >outfile
Это копирует диапазон строк, начиная с первой строки, содержащей «слово», и никогда не заканчивая (отсюда0
).