[*] Найдите определенный набор файлов с помощью команды find ;
Для любого найденного файла поместите соответствующий вывод -printf к переменной, называемому STR и перенесите его в gawk (и не используйте/используйте, что вы вывод, иначе, иначе, иначе и перенесите его на gawk (и не используйте/не используйте, что иначе в любом месте); Программа GAWK для соответствующего файла. Содержимое соответствующей переменной str должно быть доступно в программе. Он содержит два файла, file1.txt и file2.txt . Файлы находятся в кодировании UTF-8. Файл, чье имя является file1.txt содержит следующие две строки текста:
Код: Выделить всё
A
BC
Файл, имя которого - файл2.txt содержит следующие три строки текста:
Код: Выделить всё
D
EF
GHI
Код: Выделить всё
A;d/ir/file1.txt,4
BC;d/ir/file1.txt,4
D;d/ir/file2.txt,8
EF;d/ir/file2.txt,8
GHI;d/ir/file2.txt,8
< /code>
Я попробовал следующую команду: < /p>
LC_ALL=en_US.utf8; find "/d/ir" -name "file*.txt" -type f -printf "%p,%s" -execdir gawk -v str="$7" '{
print($0 ";" str)
}' "{}" \+
What is the correct command that solves the problem? Обратите внимание, что я не хочу, чтобы выходы опции -printf были показаны/напечатаны вне контекста Gawk: я хочу передать их только в Gawk, так что только программа Gawk знает, как их использовать. Если программа GAWK не использует их вообще, их нельзя показывать нигде.>
Подробнее здесь: https://stackoverflow.com/questions/795 ... correspond