I-Skript, das wie das, was ich tun möchte, überWie AWK machen verwenden Sie das Variable in Bash-Skript erstellt
#!/bin/bash
#exampel inputfile is "myfile.txt"
inputfile=$1
basen=`basename $inputfile .txt` # create basename
cat $inputfile |
awk '{print $basen "\t" $3} # this doesn't print "myfile" but the whole content of it.
aussieht, ist die Variable in AWK auszudrucken ‚basen‘ vor erstellt genannt. Aber irgendwie konnte es nicht tun, was ich mir erhofft hatte.
So zum Beispiel myfile.txt
enthalten diese Zeilen
foo bar bax
foo qux bar
Mit dem obigen Bash-Skript I
myfile bax
myfile bar
Was ist der richtige Weg, es zu tun zu bekommen hoffen?
Verwenden Sie '$()' anstelle von Backticks. Und 'find' mit' for' loop wie das bricht Dateien mit Leerzeichen. Zitiere deine '$ 1' Variable – ghostdog74