Hug*_*ugo 1 text-manipulation macos
我有一个包含世界上几乎所有机场的 .txt 文件。每行是一个不同的机场,行的格式如下:城市,国家 - 机场名称(机场代码)
IE:
Le Mans, France - Arnage (LME)
Detroit, USA - Willow Run (YIP)
San Francisco, USA - San Francisco International (SFO)
Run Code Online (Sandbox Code Playgroud)
(完整的 .txt 在这里:http : //snipt.org/AnT8)
但我想要这种格式:“城市,国家 - 机场名称(机场代码)”=>“机场代码”
(是的,带引号,用于 PHP 编码)
IE:
"Le Mans, France - Arnage (LME)" => "LME"
"Detroit, USA - Willow Run (YIP)" => "YIP"
"San Francisco, USA - San Francisco International (SFO)" => "SFO"
Run Code Online (Sandbox Code Playgroud)
我怎么能一次做到这一点?
这些在 Linux、OSX 等上开箱即用:
珀尔
perl -ne 'chomp; /\((.+?)\)/; print "\"$_\" => \"$1\"\n"' list.txt
Run Code Online (Sandbox Code Playgroud)
更多 Perl,这个使用魔法:
perl -ane 'print "\"@F\" => \"$F[$#F]\"\n"' a
Run Code Online (Sandbox Code Playgroud)呆呆的/呆呆的
awk -F '[()]' '{print "\""$0"\" =>\""$2"\""}' list.txt
Run Code Online (Sandbox Code Playgroud)@evilsoup 的 sed
sed -e 's/(\(...\))/(\1)" => "\1"/' -e 's/^/"/' list.txt
Run Code Online (Sandbox Code Playgroud)这些都不会更改原始文件,-i用于 Perl 和sed选项或重定向输出(如果您想保存):
command list.txt > new_list.txt
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
133 次 |
| 最近记录: |