paste命令,合併多個檔案的「同行資料」
【小蝸牛有心之作
好不容易將所有使用者名稱乙個一行列在檔案usernames.txt,如下:
[root@pps ~]# cat usernames.txt
小蝸牛小烏龜
小兔子
[root@pps ~]# cat useremails.txt
另外,它們各自的職業在檔案userjobs.txt,如下:
[root@pps ~]# cat userjobs.txt
門衛騎士小偷
好,我現在有需要將它們的資料合併起來,想在檔案userinfo.txt裡實現如下結果:
小蝸牛
門衛小烏龜
騎士小兔子
小偷如果不認識paste命令,那麼可能得走好多好多彎路,並且組合命令可能超級複雜,如果知道paste命令的話,比吃生菜還簡單:
[root@pps ~]# paste usernames.txt useremails.txt userjobs.txt
小蝸牛
門衛小烏龜
騎士小兔子
小偷(當然,這裡只有很少資料,可以手工實現,如果遇到成千上萬行資料就知道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
小蝸牛 小烏龜 小兔子
門衛 騎士 小偷
哈哈,由預設的「並行輸出」改為「序列輸出」了,或者說由「併排」變為「橫排」了!
其實-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 連線時,...