File1 gespeichert haben:
count line_num
xy 55
ab 67
File2:
a|b|c
d|e|f
I 55 ausdrucken möchten, 67 Zeilennummern von file2
versuche:
#!/usr/bin/ksh
while read file_name; do
line_num=`echo $file_name | awk '{print $2}'`
awk 'NR==$line_num{print;exit}' file2 >> file3.txt
done < file1
aber es funktioniert nicht!
Stellen Sie sicher, dass Sie [why-is-using-a-shell-loop-to-process-text-betrachtet-bad-practice] lesen (http://unix.stackexchange.com/questions/169716/why-is) - Verwenden-a-Shell-Schleife-zu-Prozess-Text-betrachtet-schlecht-Übung) zuerst. –
Ja, wenn es eine Datei von bescheidener Größe ist, wird es viel langsamer sein als einfaches 'awk'. –
Richtig also warum ** EVER ** es tun, da es nicht gerade kürzer ist als ein awk-Skript. btw verwende niemals den Buchstaben "l" als Variablennamen, da er viel zu sehr nach der Zahl "1" aussieht (in einigen Schriftarten nicht zu unterscheiden) und deinen Code so verschleiert. –