paste命令,合併多個檔案的「同行資料」

2021-06-17 15:49:08 字數 1687 閱讀 4730

paste命令,合併多個檔案的「同行資料」

【小蝸牛有心之作

好不容易將所有使用者名稱乙個一行列在檔案usernames.txt,如下:

[root@pps ~]# cat usernames.txt

小蝸牛小烏龜

小兔子

[root@pps ~]# cat useremails.txt

[email protected]

[email protected]

[email protected]

另外,它們各自的職業在檔案userjobs.txt,如下:

[root@pps ~]# cat userjobs.txt

門衛騎士小偷

好,我現在有需要將它們的資料合併起來,想在檔案userinfo.txt裡實現如下結果:

小蝸牛 

[email protected]

門衛小烏龜 

[email protected]

騎士小兔子 

[email protected]

小偷如果不認識paste命令,那麼可能得走好多好多彎路,並且組合命令可能超級複雜,如果知道paste命令的話,比吃生菜還簡單:

[root@pps ~]# paste usernames.txt useremails.txt userjobs.txt

小蝸牛 

[email protected]

門衛小烏龜 

[email protected]

騎士小兔子 

[email protected]

小偷(當然,這裡只有很少資料,可以手工實現,如果遇到成千上萬行資料就知道paste有用了)

要儲存在檔案userinfo.txt只需要用重定向">"就可以了。各個字段預設是用tab分開的,可以使用引數-d來指定自己喜歡的分隔符,如下示例:

(1)用冒號分隔

[root@pps ~]# paste -d: file1 file2 ...

(2)用空格分隔

[root@pps ~]# paste -d' ' file1 file2 ...

如果在-d後面指定多個字元,只認第乙個字元。如果想要用單引號(')和雙引號(")等特殊字元做分隔符,需要轉義一下:

[root@pps ~]# paste -d\' file1 file2 ...

[root@pps ~]# paste -d\" file1 file2 ...

paste還有乙個有用的引數-s,看示例:

[root@pps ~]# paste -s usernames.txt useremails.txt userjobs.txt

小蝸牛  小烏龜  小兔子

[email protected]

[email protected]

[email protected]

門衛    騎士    小偷

哈哈,由預設的「並行輸出」改為「序列輸出」了,或者說由「併排」變為「橫排」了!

其實-s引數就是輸出一行乙個檔案,有多少個檔案就有多少行。原始每個檔案裡的每行內容都成為輸出結果一行裡的各個字段。

0 給主人留下些什麼吧!~~

Paste命令之簡單合併檔案

貼上兩個不同 的資料時,首先需將其分類,並確保兩個檔案行數相同。paste將按行將不同檔案行資訊放在一行。預設情況下,paste連線時,用空格或tab鍵分隔新行中不同文字,除非指定 d選項,它將成為域分隔符。paste格式為 paste d s file1 file2 選項含義如下 d 指定不同於空...

Linux下paste命令,按列合併檔案,很實用

linux下按列合併檔案 貼上兩個不同 的資料時,首先需將其分類,並確保兩個檔案行數相同。paste將按行將不同檔案行資訊放在一行。預設情況下,paste連線時,用空格或tab鍵分隔新行中不同文字,除非指定 d選項,它將成為域分隔符。paste格式為 paste d s file1 file2 選項...

Paste命令的用法

paste命令的用法 c u t 用來從文字檔案或標準輸出中抽取資料列或者域,然後再用 p a s t e 可以將這些資料貼上起來形成相關檔案。貼上兩個不同 的資料時,首先需將其分類,並確保兩個檔案行數相同。p a s t e 將按行將不同檔案行資訊放在一行。預設情況下,p a s t e 連線時,...