Linux常用命令--paste
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux常用命令--paste相关的知识,希望对你有一定的参考价值。
1.功能:合并文件的列
2.用法:paste [参数] 文件
3.参数:
-d, --delimiters 指定间隔符,
-s, --serial 将多行数据合并成多列
4.例子
选取/etc/passwd文件的第一列和最后一列作为原始数据,使用paste命令进行测试,首先要从/etc/passwd文件中将第一列和最后一列提取出来:
[[email protected] ~]$ cat /etc/passwd |awk -F ":" ‘{print $1}‘>user_name.txt
[[email protected] ~]$ cat /etc/passwd |awk -F ":" ‘{print $NF}‘>user_login.txt
[[email protected] ~]$ head user_*#查看文件内容
例1:合并user_name,user_login两列
[[email protected] ~]$ paste user_name.txt user_login.txt|head -5
root /bin/bash
bin /sbin/nologin
daemon /sbin/nologin
adm /sbin/nologin
lp /sbin/nologin
指定分隔符为“,”
[[email protected] ~]$ paste -d "," user_name.txt user_login.txt|head -5
root,/bin/bash
bin,/sbin/nologin
daemon,/sbin/nologin
adm,/sbin/nologin
lp,/sbin/nologin
例2:行转列
文件的行转列,一个文件为1行。
一个文件行转列:
[[email protected] ~]$ paste -s user_name.txt
root bin daemon adm lp sync shutdown halt mail uucp operator games gopher ftp nobody dbus oprofile vcsa hsqldb saslauth postfix sshd mysql ntp
[[email protected] ~]$ paste -s user_name.txt |wc -l
1
两个文件行转列后进行和并:
[[email protected] ~]$ paste -s user_name.txt user_name.txt
root bin daemon adm lp sync shutdown halt mail uucp operator games gopher ftp nobody dbus oprofile vcsa hsqldb saslauth postfix sshd mysql ntp
root bin daemon adm lp sync shutdown halt mail uucp operator games gopher ftp nobody dbus oprofile vcsa hsqldb saslauth postfix sshd mysql ntp
[[email protected] ~]$ paste -s user_name.txt user_name.txt |wc -l
2
文件合并之后再行转列:
[[email protected] ~]$ paste -d user_name.txt user_name.txt|paste -s |wc -l
1
以上是关于Linux常用命令--paste的主要内容,如果未能解决你的问题,请参考以下文章