Скопируйте строку на основе критериев поиска - PullRequest
0 голосов
/ 06 августа 2020

У меня есть file1, который содержит:

apple_phones.csv
apple_ipad.csv
apple_mac.csv

Необходимо скопировать n строк в другой файл file2

Код пробовал: awk 'NR==1' "$file1" > "$file2"

Это создает файл2 с первой строкой из файла1.

Однако, когда я делаю awk 'NR==4' "$file1" > "$file2", он создает пустой файл file2.

В этом случае, если файл1 не имеет строки 4 или строки 4 не имеет «яблока» в начале, я не хочу, чтобы создавался файл 2.

1 Ответ

2 голосов
/ 06 августа 2020
awk 'NR==4 && $0 ~ /^apple/ {print > "file2"}' file1

Если условие истинно, будет напечатано file2, иначе печать не будет и новый файл не будет создан.

...