Linux上常用命令整理(二)—— paste


上一篇整理了cat指令的幾個基本常見用法,這次整理一下paste指令的基本用法。

  1. cat
  2. paste
  3. cut
  4. grep

paste

paste可以簡單的理解為把兩個文件的內容按列合並,與cat命令直接將不同文件按照先后順序接起來不同,paste可以非常快速的將兩個文件中的內容按照文件順序從左往右排起來,例如文件1的內容是:

a

b

c

d

文件2的內容是:

1

2

3

4

則paste之后的結果為:

a  1

b  2

c  3

d  4

甚至可以在拼接時向中間插入間隔符號,下面列舉一下常見的用法。

  •  直接拼接
paste file1 file2 > result

上述指令將file1和file2中的內容按照列拼接之后,存入result文件中,如果不加 > result,則直接顯示在終端

  • 拼接時使用指定符號隔開各個文件的內容
paste -d':' file1 file2

結果類似

a:1

b:2

c:3

d:4

-d之后使用雙引號和單引號甚至不用引號的結果一樣,而且只能指定一個字符,你寫一大串-d"::::----"仍然只有第一個字符會被取為分隔符

  • 刪除所有換行
paste file1 -s

該指令會將所有換行刪掉,也就是將file1的所有行拼成一整行。

也可以是兩個文件

paste file1 file2 -s

執行的結果是兩個文件的內容分別被存成一行,然后按照文件順序輸出,最終結果是兩行,每行對應一個文件

也可以與-d組合使用,相當於將原文件內容的換行符替換為指定分隔符

paste file1 -s -d:

結果類似:

a:b:c:d

  • 指定從標准輸入中讀取的次數

這是個為覺得比較特殊的用法,主要是與其他指令組合使用,第一次見到是在http://blog.csdn.net/andy572633/article/details/7214126的文章中,他給出的用法如下:

ls /etc | paste -d" " - - - - - -

先使用ls命令輸出/etc目錄,然后管道傳給paste命令,輸出結果會變成6列;注意雙引號中間是空格,表示后面的-號用空格隔開

我自己試了一下於cat組合,結果類似

cat file1 | paste -d" " - -

a b

c d

 

參考資料:

http://blog.csdn.net/andy572633/article/details/7214126


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM