#!/bin/bash
cat $1 | awk ' /Info/, /<\/Body>/ {print $0}' | while read line; do
file=`awk -F '>' "{print $4}"`
echo "$file"
done
Grundsätzlich die file
Eingabedatei hat einige Informationen in der ersten Zeile von awk entfernt. Nun, was ich versuche, ist eine Variable mit awk -F
zu finden und zu drucken, was nach der >
kommt, die das vierte Feld ist. Jetzt kann ich nicht einfach nach dem >
suchen, weil die Datei 100s von ihnen hat, weil es HTML ist.So schreiben Sie awk -F Befehle
ok vielleicht kann jemand antworten, also wenn ich die Datei jetzt nicht auf das vierte Feld schaue, aber es entfernt nur alle '>' was ist nicht das Ziel, ich versuche, das Feld zu finden, das nach dem kommt 3 '>' so wäre das Feld 4, aber das ist nicht was ich bekomme? Jede Hilfe wäre großartig!
Mit welchem Eingang soll 'awk' arbeiten? '$ 4' wird durch die Shell erweitert, da Sie das awk-Skript in doppelte Anführungszeichen setzen. Es gibt keinen Grund, die awk-Ausgabe in einer Variablen zu erfassen, nur um sie "echo" zu machen. –
es ist in einer Weile lesen Zeile; tue so im Grunde, was ich habe, ist eine Eingabe mit einer Tonne Text, den ich sortiere, also versuche ich, das vierte Feld zu nehmen, das nach dem 3. 'kommt' und das zu einer Variablen speichern und diese Variable drucken – NewEffect
Tun Sie vielleicht will 'awk "/>/{print $ 4}" '. Nur eine Vermutung von deiner Frage. – Brian