Я не совсем понимаю, чего вы хотите достичь, но, возможно, что-то вроде этого может быть полезно для вас:
Он обрабатывает файл построчно и сохраняет каждый в массиве, ключномер строки, чтобы вы сохраняли порядок.В разделе END
проверьте, сколько строк было обработано, и получите, имеет ли файл содержимое.
awk '{ line[ FNR ] = $0 } END { if ( FNR > 0 ) { print "File" } else { print "NO file" } }' infile
РЕДАКТИРОВАТЬ , чтобы прокомментировать:
Но вawk
Вы можете обработать много файлов из командной строки.
BEGIN {
...
}
## Processing of first file in command line.
FNR == NR {
a[ FNR ] = $0
next
}
## Processing of second file in command line
FNR < NR {
## Check if array 'a' has the values you want and use them
## 'for(...)variable += a[i]' or whatever.
}
Запустить скрипт как:
awk -f script.awk first_file.txt second_file.txt
Но если first_file.txt
не существует, awk выдаст сообщение об ошибке.