[shell基礎]——paste命令

Jelly_lyj發表於2017-03-18

測試文字內容如下:

# cat name1.txt 
name1 alvin1
name2 alvin2
name3 alvin3
name4 alvin4
# cat name2.txt 
name1 100
name2 101
name3 102
cccccccccccccccc

 

(1) paste 將兩個檔案的每行一一對應合併

# paste name1.txt name2.txt
name1 alvin1 name1 100
name2 alvin2 name2 101
name3 alvin3 name3 102
name4 alvin4 cccccccccccccccc

 
(2) -d 指定合併時以什麼作為分隔符

# paste -d: name1.txt name2.txt
name1 alvin1:name1 100
name2 alvin2:name2 101
name3 alvin3:name3 102
name4 alvin4:cccccccccccccccc

 
(3) -s 將所有行以一個橫行的方式輸出

# paste -s name1.txt
name1 alvin1 name2 alvin2 name3 alvin3 name4 alvin4

# paste -s name1.txt name2.txt
name1 alvin1 name2 alvin2 name3 alvin3 name4 alvin4
name1 100 name2 101 name3 102 cccccccccccccccc

 
(4) - - - 指定每n行作為一個橫行輸出

每2行作為一行輸出
# cat name1.txt | paste - -
name1 alvin1 name2 alvin2
name3 alvin3 name4 alvin4

每3行作為一行輸出
# cat name1.txt | paste -d" " - - -
name1 alvin1 name2 alvin2 name3 alvin3
name4 alvin4

每4行作為一行輸出
# cat name1.txt | paste - - - -
name1 alvin1 name2 alvin2 name3 alvin3 name4 alvin4

可以配合-d來指定分隔的符號
# cat name1.txt  | paste -d";"   - - -
name1 alvin1;name2 alvin2;name3 alvin3
name4 alvin4;;

 

 



相關文章