次の行から距離を削除してcdv形式で出力する最良の方法は何ですか?コマンドラインでこれをかなり簡単に実行できますか?完全なスクリプトを書くのを避けたい。
Greece 282 km, Macedonia 151 km, Montenegro 172 km, Kosovo 112 km
Central African Republic 797 km, Chad 1,094 km, Republic of the Congo 523
出力は次のとおりです。
Greece,Macedonia,Montenegro,Kosovo
Central African Republic,Chad,Republic of the Congo
ベストアンサー1
cdv形式が何であるかはわかりませんが、数値とオプションの測定単位を削除してから、残りのコンマの後のスペースを圧縮するだけです。
sed 's/ *[0-9]\+\(,[0-9]\+\)\?\( *km *\)\?//g;s/, \+/,/g' file.txt
読みやすくするには、拡張正規表現と同じです(GNUの場合sed
)。
sed -r 's/ *[0-9]+(,[0-9]+)?( *km *)?//g;s/, +/,/g' file.txt