[*] Suchen Sie einen bestimmten Satz von Dateien mit dem Befehl find ;
Für eine gefundene Datei werden die entsprechenden Ausgabe des -printf Option für eine Variable namens Str. Ein Gawk -Programm für die entsprechende Datei. Der Inhalt der entsprechenden STR -Variable muss im Programm verfügbar sein. Es enthält zwei Dateien, Datei1.txt und file2.txt . Die Dateien befinden sich in der UTF-8-Codierung. Die Datei, deren Name Datei1.txt ist, enthält zwei Zeichen: AB . Seine Größe beträgt 2 Bytes. Die Datei, deren Name Datei2.txt ist, enthält drei Zeichen: CDE . Seine Größe beträgt 3 Bytes. Ich möchte diese beiden Zeilen drucken und den entsprechenden Inhalt von Str (Dateiname, Dateigröße) an jede Zeile anhängen. Die erwartete Ausgabe ist also < /p>
Code: Select all
AB;d/ir/file1.txt,2
CDE;d/ir/file2.txt,3
< /code>
Ich habe den folgenden Befehl ausprobiert: < /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)
}' "{}" \+