Ich habe eine Datei namens fixed.txt wie unten gezeigt:
Column1 | Column2 | Column3
Total expected ratio | 53 | 68
Total number|count number | 54 | 72
reset|print|total | 64 | 84
Ich versuche, die Ausgabespalte2 wie folgt zu drucken:
Fixed.txt:
53
54
64
Ich habe das folgende Skript ausprobiert, erhalte jedoch nicht die gewünschte Ausgabe.
#!/bin/bash
for d in fixed.txt
do
awk -F" | "
NR>1
awk '{ print $2 }' fixed.txt
done
Können wir Pipeline ( | ) und Leerzeichen gleichzeitig als Trennzeichen verwenden?
1. Lösung: Könnten Sie bitte versuchen, anhand der gezeigten Beispiele Folgendes zu schreiben? Geschrieben und getestet in https://ideone.com/WoF40j
awk '
BEGIN{
FS="|"
}
{
print $(NF-1)+0
}
' Input_file
2. Lösung: Verwenden Sie Leerzeichen und|
als Feldtrennzeichen könnte man folgendes ausführen.
awk -F'[[:blank:]]+\\|[[:blank:]]+' '{print $(NF-1)}' Input_file
ODER
awk -F' +\\| +' '{print $(NF-1)}' Input_file
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen