2016-10-20 28 views
1

我想在一行中連接2行。假設我有這樣的數據,使用unix命令在一行中連接2行

PK26338 
565 
PK27876 
574 
PK13472 
546 
PK03604 
540 

想要使用製表符分隔格式。

PK26338 565 
PK27876 574 
PK13472 546 
PK03604 540 

什麼是使用unix命令最有效的方法?

回答

0

paste是最簡單和最有效的在這種情況下:

paste -d '\t' - - < file 
  • -d '\t'告訴paste加入使用一個\t(製表符)字符
  • - -告訴paste讀取對輸入線來自標準輸入(-)的輸入行的按照約定我們ed代表標準輸入代替文件名)。
  • < file通過stdin(標準輸入)發送輸入文件filepaste

在效果上,命令讀取雙從file,並加入每對線,配有標籤分離,以形成一個單一的輸出線。

+1

謝謝!有用! – user5967613

0
$ perl -ne 'if (/^PK/) {chomp; print "$_\t"}else{print}' file 
PK26338 565 
PK27876 574 
PK13472 546 
PK03604 540 
+0

感謝它的工作,但粘貼選項更容易... – user5967613