Попробуйте эту протестированную версию:
#!/usr/bin/awk -f
BEGIN {
last=FILENAME;
}
{
if (last != FILENAME) {
if (line !~ /^hello world$/ && line != "hello world") {
print last;
}
last=FILENAME;
}
line=$0;
}
END {
if (line !~ /^hello world$/ && line != "hello world") {
print FILENAME;
}
}
Тест:
$ chmod +x script.awk
$ ls
script.awk test1.txt test2.txt test3.txt
$ ./script.awk $(find . -type f -exec file {} + | fgrep text | cut -d: -f1)
./script.awk
./test1.txt
Почти все, что находится в /dev, является точкой входа в ядро для определенного устройства. Получая доступ к файлу устройства, вы фактически по-прежнему открываете устройство в своей локальной системе, а не на удаленном сервере. В качестве крайнего примера этого у вас может быть система, которая загружается из сети, а корневой диск является монтированием NFS. На локальном сервере корневой раздел может быть /dev/sda1
, а на удаленном сервере он имеет тот же путь. Какой из них имеет приоритет?