Der aktuelle Code unter Berücksichtigung von grep & cut gibt 51315123&category_id
aus. Ich muss &category_id
entfernen. Kann cut dazu verwendet werden?
... | tr '?' '\n' | grep "^recipient_dvd_id=" | cut -d '=' -f 2 >> dvdIDs.txt
Der aktuelle Code unter Berücksichtigung von grep & cut gibt 51315123&category_id
aus. Ich muss &category_id
entfernen. Kann cut dazu verwendet werden?
... | tr '?' '\n' | grep "^recipient_dvd_id=" | cut -d '=' -f 2 >> dvdIDs.txt
Wenn Sie bereit sind, AWK zu verwenden:
... | tr '?' '\n' | awk -F'[=&]' '/^recipient_dvd_id=/ {print $2}' >> dvdIDs.txt
AWK behandelt das Regex und teilt die Felder auf, in diesem Fall unter Verwendung von '=' und '&' als Feldtrennzeichen und druckt die zweite Spalte aus. Andernfalls benötigen Sie eine zweite cut
Anweisung.
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.
1 Stimmen
Die Kombination von
grep
,cut
und möglicherweise einem weiterencut
sollte wahrscheinlich auf einen einzelnen Befehl reduziert werden, entwedersed
oder einem seiner leistungsstärkeren Brüder -awk
,perl
oderpython
(oder einer anderen Skriptsprache Ihrer Wahl). Alles andere beiseite, wenn das Datenvolumen, das verarbeitet werden soll, in den Gigabyte-Bereich zu reichen beginnt, werden die mehrfachen Pipe-Operationen etwas zu einem Engpass.