1行に2行を連結したいとします。unixコマンドを使用して1行に2行を連結します。
PK26338
565
PK27876
574
PK13472
546
PK03604
540
タブ区切りでこれらの形式を使用したいとします。
PK26338 565
PK27876 574
PK13472 546
PK03604 540
unixコマンドを使用すると最も効率的な方法は何でしょうか?
1行に2行を連結したいとします。unixコマンドを使用して1行に2行を連結します。
PK26338
565
PK27876
574
PK13472
546
PK03604
540
タブ区切りでこれらの形式を使用したいとします。
PK26338 565
PK27876 574
PK13472 546
PK03604 540
unixコマンドを使用すると最も効率的な方法は何でしょうか?
paste
この場合、最も簡単で効率的です。
paste -d '\t' - - < file
-d '\t'
は\t
(タブ)を使用して、入力行に参加するpaste
を告げる文字- -
ペアを読み取るためにpaste
を伝えますstdinからの入力行の(-
は慣例によりファイル名の代わりにstdinを表すためにedを使用します)。< file
は、入力ファイルfile
を標準入力(stdin)経由でpaste
に送信します。実際に、コマンドは、単一の出力ラインを形成するために、file
からライン対を読み取り、各対の行を結合し、タブで区切ります。
$ perl -ne 'if (/^PK/) {chomp; print "$_\t"}else{print}' file
PK26338 565
PK27876 574
PK13472 546
PK03604 540
ありがとうございますが、ペーストオプションは簡単です... – user5967613
ありがとう!できます! – user5967613