Если вы используете GNU grep, вы можете использовать его -r
или - рекурсивный Вариант
, чтобы сделать эту простую находку за вас:
grep -r --include '*.py' -le "$regexp" ./ # for filenames only
grep -r --include '*.py' -He "$regexp" ./ # for filenames on each match
Вам понадобится только find
, если вам нужны более сложные предикаты.
Простой сценарий awk может анализировать данные, например:
awk -F': ' 'BEGIN { print "Torrent file,Content info,Size" }
$0~/^Torrent file/ { save = $2 }
$0~/^Content info/ { printf "%s,%s\n",save,$2 }' <info.txt
Разделить строки на «:», сохранить второе поле одной строки, распечатать его позже, когда будет найдена другая строка.