EDIT 2: Я решил переписать это, чтобы лучше изобразить результаты.Bash Shell Scripting назначает новые переменные для вывода поиска grep
В настоящее время я использую этот код, чтобы вывести список файлов в различных каталогах:
for file in /directoryX/*.txt
do
grep -rl "Annual Compensation" $file
done
Выходной сигнал показывает все файлы, которые имеют определенную таблицу я пытаюсь извлечь в макете, как это:
txtfile1.txt
txtfile2.txt
txtfile3.txt
Я использую эту команду AWK на каждом отдельном файле .txt извлечь таблицу, а затем отправить его в формате CSV:
awk '/Annual Compensation/{f=1} f{print; if (/<\/TABLE>/) exit}' txtfile1.txt > txtfile1.csv
Моя цель - найти команду, которая будет запускать мою команду awk по каждому файлу в списке все сразу. Спасибо тем, кто уже представил предложения.
Я не могу понять ваше требование. Какие файлы CSV будут содержать? – codeforester
Извините, я не могу понять ваш вопрос. Можете ли вы предоставить больше контекста и более подробно, особенно о желаемом выходе/эффекте? – Dario
Сначала я попытался использовать инвертированные апострофы ('\ '') в строке, например output = \' grep -rl "Annual Compensation" $ file \ ", а затем посмотреть, что я могу сделать с $ output. –