2017-02-11 7 views
0

それでは、1行の最初の部分を次の行の最初の部分に結合し、1行おきにコロンで区切ります。sedスクリプトを使って現在の行の一部と次の行の一部を結合する

入力データが下にあり、私はそれを動作させるのに苦労しています。

これは、私はそれが(これが欲しい)に見えるようにしたいものです。

Albania:Armenia 
Angola:Antarctica 
Argentina:American Samoa 

これは、入力された:

私はこれまでNを使用して、このですが出ている何
Albania,EU,http://en.wikipedia.org/wiki/Albania 
Armenia,AS,http://en.wikipedia.org/wiki/Armenia 
Angola,AF,http://en.wikipedia.org/wiki/Angola 
Antarctica,AN,http://en.wikipedia.org/wiki/Antarctica 
Argentina,SA,http://en.wikipedia.org/wiki/Argentina 
American Samoa,OC,http://en.wikipedia.org/wiki/American_Samoa 
Austria,EU,http://en.wikipedia.org/wiki/Austria 
Australia,OC,http://en.wikipedia.org/wiki/Australia 
Aruba,NA,http://en.wikipedia.org/wiki/Aruba 
Azerbaijan,AS,http://en.wikipedia.org/wiki/Azerbaijan 
Bosnia and Herzegovina,EU,http://en.wikipedia.org/wiki/Bosnia_and_Herzegovina 
Barbados,NA,http://en.wikipedia.org/wiki/Barbados 
Bangladesh,AS,http://en.wikipedia.org/wiki/Bangladesh 
Belgium,EU,http://en.wikipedia.org/wiki/Belgium 
Burkina Faso,AF,http://en.wikipedia.org/wiki/Burkina_Faso 
Bulgaria,EU,http://en.wikipedia.org/wiki/Bulgaria 
Bahrain,AS,http://en.wikipedia.org/wiki/Bahrain 
Burundi,AF,http://en.wikipedia.org/wiki/Burundi 
Benin,AF,http://en.wikipedia.org/wiki/Benin 
Saint Barthelemy,NA,http://en.wikipedia.org/wiki/Saint_Barthelemy 

次の行を取得し、部分的に動作します。ファーストネームの「ジャンク」はなくなっていますが、2番の「ジャンク」はまだそこにあります。 (これはsedスクリプトであると私は他のすべてのsedスクリプトでそう何のawkか何かを実行していないsedスクリプトを持っている必要があります)

s/,..,.+// 
{N 
s/\n/:/ 
p 
} 

私の試みは、この出力を生成します

Azerbaijan:Bosnia and Herzegovina,EU,http://en.wikipedia.org/wiki/Bosnia_and_Herzegovina 
Barbados:Bangladesh,AS,http://en.wikipedia.org/wiki/Bangladesh 
Belgium:Burkina Faso,AF,http://en.wikipedia.org/wiki/Burkina_Faso 
Bulgaria:Bahrain,AS,http://en.wikipedia.org/wiki/Bahrain 
Burundi:Benin,AF,http://en.wikipedia.org/wiki/Benin 

答えて

2
s/,.*//;N;s/\n/:/;s/,.*// 

カンマの後にすべてを削除し、次の行を追加し、改行をコロンで置き換え、すべてをカンマの後に削除します。

+0

これは完璧なように素早く感謝しています。 – fman

+0

「paste -d:<(cut -d、-f1 inputfile | sed '$ d')<(cut -d、-f1 inputfile | sed '1d') '、upvoted。 –

関連する問題