
Ich habe eine TXT-Datei mit fast allen Flughäfen der Welt. Jede Zeile steht für einen anderen Flughafen und die Zeilen haben dieses Format:Stadt, Land - Flughafenname (Flughafencode)
dh:
Le Mans, France - Arnage (LME)
Detroit, USA - Willow Run (YIP)
San Francisco, USA - San Francisco International (SFO)
(die komplette .txt ist hier:http://snipt.org/AnT8)
Aber ich möchte dieses Format:"Stadt, Land - Flughafenname (Flughafencode)" => "Flughafencode"
(ja, mit Anführungszeichen, es ist für die PHP-Codierung)
dh:
"Le Mans, France - Arnage (LME)" => "LME"
"Detroit, USA - Willow Run (YIP)" => "YIP"
"San Francisco, USA - San Francisco International (SFO)" => "SFO"
Wie kann ich das sofort tun?
Antwort1
Diese funktionieren sofort unter Linux, OSX usw.:
Perl
perl -ne 'chomp; /\((.+?)\)/; print "\"$_\" => \"$1\"\n"' list.txt
mehr Perl, dieses verwendet Magie:
perl -ane 'print "\"@F\" => \"$F[$#F]\"\n"' a
puh/gauh
awk -F '[()]' '{print "\""$0"\" =>\""$2"\""}' list.txt
@evilsoup's sed
sed -e 's/(\(...\))/(\1)" => "\1"/' -e 's/^/"/' list.txt
Keines davon ändert die Originaldatei, verwendet sie -i
für Perl und sed
Optionen oder leitet die Ausgabe um, wenn Sie speichern möchten:
command list.txt > new_list.txt
Antwort2
Sie können auch einen grafischen Texteditor mit mehrzeiligen Bearbeitungsfunktionen verwenden, wie zum BeispielErhabener Text.
- Wählen Sie alles mit aus CmdAund aktivieren Sie dann den Zeilenbearbeitungsmodus mit ShiftCmdL.
- Gehen Sie mit an das Ende der Zeile Cmd→und kopieren Sie den Flughafencode in den Klammern. Setzen Sie die Zeile anschließend in Anführungszeichen, fügen Sie das hinzu
=>
und fügen Sie den Code erneut ein. - Drücken Sie Esc, um den Zeilenbearbeitungsmodus zu verlassen.
Grundsätzlich können Sie also dasselbe tun, was Sie mit einer Zeile tun würden.
Antwort3
Emacs bietet die Möglichkeit, mehrere Cursor zu verwenden. Auf diese Weise können Sie alle Zeilen gleichzeitig direkt bearbeiten. Das Video zur Einrichtung finden Sie auf der Emacs Rocks-Website.http://emacsrocks.com/e13.html.
Antwort4
Sie können es kopieren und in eine Tabelle einfügen ... und dann die Zeilen mit Trennzeichen in Spalten aufteilen ... wenn die Spalten wie folgt erstellt wurden:„Stadt, Land – Flughafenname (Flughafencode)“... fügen Sie einfach eine weitere Spalte mit wiederholter Zeichenfolge hinzu:=>und kopieren Sie die "Flughafencode" Spalte dazu als nächstes..
Damit könnte es dann etwa so aussehen:
"Stadt, Land - Flughafenname (Flughafencode)" => "Flughafencode"
Kopieren Sie einfach den gesamten Tabelleninhalt und fügen Sie ihn in den Editor oder einen beliebigen anderen Texteditor für Mac ein. Ersetzen Sie in diesem Editor die TAB-TASTE je nach den Anforderungen Ihres Codes durch ein LEERTASTE oder NICHTS.
Sie benötigen lediglich eine Tabellenkalkulationssoftware wie MS Excel und einen Texteditor wie Notepad. Ich bin ein Windows-Benutzer und kenne mich daher mit Software für Mac nicht aus …