Я использую следующий код для извлечения информации из набора текстовых файлов (foo * .txt).
for file in foo*.txt; do
grep "some_text" $file | tail -n5 | awk '{print $2}' >> bar.csv
done
Этот комментарий печатает нужные мне числа из набора файлов (foo * .txt). Когда я пытаюсь напечатать как имя файла (в одном столбце файла CSV), так и номер (в следующем столбце файла CSV), я попытался выполнить следующие действия в Терминале.
for file in foo*.txt; do
echo $file
grep "some_text" $file | tail -n5 | awk '{print $2}' >> bar2.csv
done
Это печатает имена файлов в терминале. Файл CSV содержит числа, которые я хочу. Как этот код можно изменить, чтобы имя файла было напечатано в одной колонке, а извлеченные числа - в следующей колонке файла CSV?
Другая проблема в этом коде - это проблема сортировки. Например, рассмотрим имена файлов foo_01_s.txt, foo_02_s.txt, foo_03_s.txt ..... foo_100_s.txt. Если я хочу извлечь информацию (используя комментарии выше), последний файл (foo_100_s.txt) не идет после foo_99_s.txt.
Решение с использованием Python/Perl также было бы полезно.