用Linux命令来优化我的工作

找出两个文件不同的

//先把两个文件进行排序
$ sort -r number.txt -o number.txt
$ sort -r number1.txt -o number1.txt
//排序后在对比不同.
$ diff number1.txt number.txt -y -W 50

sort -r number.txt > number.txt
sort -r降序排序, -o为重定向.
这种重定向后数据会不在掉哦.number.txt会变成空的. 所有需要用-o来做哦.
注意:sort -r number.txt排序后只是打印出来了,并不会改变number.txt源文件的,所有如果需要将排序后的结果重新写到原文件,则需要用-o来做重定向,或者> number3.txt重新定向到另外一个文件里面.

$ sort -k1 -nr
1 测试1
2 asdf2
3 changes3

上面有2列,k1表示以第一列作为排序列. k2就表示第二列. -n表示数字排序(不加n就会变成2>10,因为10前面是1),-r表示反序

$ sort -k1 -t, -nru
1,测试1
2,asdf2
3,changes3
上面只有一列,怎么办呢?用-t来切割啊,t后面的逗号就是分割符,用逗号做为分割符,分割后就有2列了.k1表示用第一列. -u表示去重.

原文件:
uutapp
erchant
ppversion
switch
check
sfile
$ sort mapper2.txt |uniq -c |sort -k1 -nr|grep 1
2 uutapp
2 erchant
2 ppversion
2 switch
2 check
1 sfile
最后的结果是
1 sfile

先排序后,列出序号,然后在根据序号再排序,最后根据grep筛选出1的数据来.

uniq命令用于报告或忽略文件中的重复行,一般与sort命令结合使用。
-c:在每列旁边显示该行重复出现的次数;
-d:仅显示重复出现的行列;
-f<栏位>或–skip-fields=<栏位>:忽略比较指定的栏位;
-s<字符位置>或–skip-chars=<字符位置>:忽略比较指定的字符;
-u或——unique:仅显示出一次的行列;
-w<字符位置>或–check-chars=<字符位置>:指定要比较的字符。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值