Wie kann Gawk mit Dateien funktionieren, die mit der entsprechenden Ausgabe der Option "-printf" als Variable verfügbar Linux

Linux verstehen
Anonymous
 Wie kann Gawk mit Dateien funktionieren, die mit der entsprechenden Ausgabe der Option "-printf" als Variable verfügbar

Post by Anonymous »

Ich möchte Folgendes ausführen:

[*] 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)
}' "{}" \+
(Hier hatte ich gehofft, dass $ 7 , ein Positionsparameter, auf "%p,%s" bezeichnet wird, aber es druckt nicht die erwartete Ausgabe: Es zeigt zwei Ausgänge von -printf (was ich nicht passieren möchte), dann zwei Zeilen ohne die erforderlichen Daten von Stry. Beachten Sie, dass ich nicht möchte, dass die Ausgänge der Option -printf außerhalb des Gawk -Kontextes angezeigt/gedruckt werden: Ich möchte sie nur an Gawk weitergeben, damit nur das Gawk -Programm weiß, wie man sie benutzt. Wenn das Gawk -Programm sie überhaupt nicht verwendet, darf sie nirgendwo angezeigt werden.>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post