Massenbereinigung von URL-Parametern aus einer TXT-Datei

Massenbereinigung von URL-Parametern aus einer TXT-Datei

Ich habe eine Datei mit einer Liste von URLs wie dieser:

www.dell.com/any=abc&anyone=bcd
www.google.co.in 
www.yahoo.com/abc=fgh

Ich möchte sie bereinigen, da sie nur Daten bis zum Gleichheitszeichen anzeigen. Das obige sollte beispielsweise lauten:

www.dell.com/any=
www.dell.com/any=abc&anyone=
www.google.co.in 
www.yahoo.com/abc=

Gibt es irgendwelche Skriptvorschläge zum Bereinigen von Code wie diesem in Python oder Bash usw.?

Antwort1

Wenn ich das richtig verstehe, möchten Sie folgende Transformationen anwenden:

  • Wenn die Zeile nicht enthält =, tun Sie nichts
  • Wenn die Zeile ein einzelnes enthält =, dann lösche alles nach dem=
  • Wenn die Zeile mehrere enthält =, führen Sie den vorherigen Schritt wiederholt aus, bis keins mehr vorhanden ist. Drucken Sie bei jedem Schritt die Zwischenergebnisse aus.

So können Sie das tun:

#!/usr/bin/env bash

while read line; do
    if [[ "$line" == *=* ]]; then
        while [[ "$line" == *=* ]]; do
            line=${line%=*}
            echo $line=
        done
    else
        echo $line
    fi
done

Wenn Sie dies in einer Datei speichern script.sh, können Sie es folgendermaßen verwenden:

./script.sh < input.txt

Dadurch wird die Ausgabe erzeugt, nach der Sie in Ihrer Frage gefragt haben.

verwandte Informationen