paste:linux合並兩個文件中的列(左右合並)


[root@www ~]# paste [-d] file1 file2

選項與參數:

-d  :后面可以接分隔字符。默認是以 [tab] 來分隔的!

-   :如果 file 部分寫成 - ,表示來自 standard input 的數據的意思。

 

范例一:將 /etc/passwd 與 /etc/shadow 同一行貼在一起

[root@www ~]# paste /etc/passwd /etc/shadow

bin:x:1:1:bin:/bin:/sbin/nologin        bin:*:14126:0:99999:7:::

daemon:x:2:2:daemon:/sbin:/sbin/nologin daemon:*:14126:0:99999:7:::

adm:x:3:4:adm:/var/adm:/sbin/nologin    adm:*:14126:0:99999:7:::

# 注意喔!同一行中間是以 [tab] 按鍵隔開的!

 

范例二:先將 /etc/group 讀出(用 cat),然后與范例一貼上一起!且僅取出前三行

[root@www ~]# cat /etc/group|paste /etc/passwd /etc/shadow -|head -n 3

# 這個例子的重點在那個 - 的使用!那玩意兒常常代表 stdin 喔!

 

 

 

例:使用chpasswd批量修改用戶密碼

[root@localhost ~]# cat name
user1:
user2:
user3:
user4:
user5:
user6:
user7:
user8:
user9:
[root@localhost ~]# cat passwd
978ebbf1763
23c2626c37b
15dff03fa71
2459043b3ad
d317ec4870c
1728b6b5ddc
ed9d98f8b4c
0a7f3f5f8c4
96935ad635c
[root@localhost ~]# paste name passwd
user1:    978ebbf1763
user2:    23c2626c37b
user3:    15dff03fa71
user4:    2459043b3ad
user5:    d317ec4870c
user6:    1728b6b5ddc
user7:    ed9d98f8b4c
user8:    0a7f3f5f8c4
user9:    96935ad635c
[root@localhost ~]# paste -d"#" name passwd
user1:#978ebbf1763
user2:#23c2626c37b
user3:#15dff03fa71
user4:#2459043b3ad
user5:#d317ec4870c
user6:#1728b6b5ddc
user7:#ed9d98f8b4c
user8:#0a7f3f5f8c4
user9:#96935ad635c

注:-d指定分隔符,不加此參數默認為制表符。


免責聲明!

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



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