Ich habe eine Datei, die ich verarbeite und hängen geblieben Format ist wie folgt: "HostRecord", "SOMEFILE", "InsideView", "legacy.name.com", "1.2.3.4" „1.2.3.5“, „some comment“, „“Entfernen von Anführungszeichen zwischen zwei Strings
ich brauche das entfernen „“ zwischen den IP-Adressen, aber die ,
so am Ende verlassen würde ich die Ausgabe aussieht wie diese: „HostRecord "," SOMEFILE "," InsideView "," legacy.name.com "," 1.2.3.4,1.2.3.5 "," irgendein Kommentar "," "
Ich dachte, ich benutze einfach sed und habe mehrere versucht Dinge. Mein letztes ist so etwas wie diese:
sed -e 's/\(.*[0-9]\{1,3\}=1&\)\"\(,=2&\)\"\([0-9]\{1,3\}=3&\)/\1\2\3/'
, die keine Wirkung auf alle, nicht wirklich pingelig auf einem bestimmtes Werkzeug zu haben scheint, die Arbeit zu tun, brauche ich nur, um es fertig gestellt. Hat jemand irgendwelche Gedanken?
Wenn sich die IP immer in der gleichen relativen Position befindet, greifen Sie auf diese Elemente nur gezielt zu und entfernen Sie manuell die "? z.B. 'liste [4] = liste [4] [: - 1]; Liste [5] = Liste [5] [1:] '. – PrestonH
So etwas Klarheit nehme ich an, könnte helfen, die Datei ist etwa 200k Zeilen lang, und nicht alle Einträge haben mehrere IPs und einige Zeilen haben Dutzende von IPs. Was ich tun wollte, war nur eine schnelle Musterübereinstimmung zwischen dem letzten Oktett der "," und dem ersten Oktett der nächsten IP zu machen und nur die "out – Elmore
" auszublenden. Also woher weißt du, wann die IPs aufhören? –