常用的文件操作命令

抽取行

sed -n 'n1,n2p' file  //抽取文件faile中的行n1~n2之间的内容,包括n1,n2;

head -n 10 file //取file前10行

tail -n 10 file //取file后10行

awk '$4~abc' fiel //取文件中第4列是abc那行

 

抽取列

    cut -fx -dy 文件           //以y作为分隔符,抽取第x列
    awk -Fy '{print $x}' 文件  //以y作为分隔符,抽取第x列
                               注:awk可以抽取多列,在指令中使用逗号分割,例:
                               awk -F: '{print $3,$5}' /etc/passwd
                                        将会抽取文件中的第3列和第5列

 

又或者awk '{print $3,'/n','/t'} file'回车显示第3列更直观,注意是print而非printf 
 
排序
    sort -ty +xn 文件          //以y作为分隔符,以第1+x列为基准排序
    注:如果使用了该指令,则不能在同一语句内使用其它参数,如有需要,只能在管道中再sort一次,如: sort +4n /etc/fstab | sort -r
         其它参数:  n  对数字排序
                   d   对字母排序
                   M   对月份排序(诸如JAN,FEB....DEC之类)
                   r   逆向

 

tac file //把file文件颠倒行序,例第一行显示为最后一行

 

把文件反向:

rev file //把file文件内容方向,例如编辑DNS反向区域时可以用到

 

追加文件的方式:

行对行叠加:paste file1 file2 > file3

文件直接追加:cat file2 >>file1

 

 

 

1、取出两个文件的并集(重复的行只保留一份)

cat file1 file2 | sort | uniq

2、取出两个文件的交集(只留下两个文件中同时存在的字段)

 

cat file1 file2 | sort | uniq -d

3、删除交集,留下其它的行

cat file1 file2 | sort | uniq -u

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值