文件比较,去除空字符

Comm命令



  如果想对两个有序的文件进行比较,可以使用comm命令。



  语法:comm [- 123 ] file1 file2



  说明:该命令是对两个已经排好序的文件进行比较。其中file1和file2是已排序的文件。comm读取这两个文件,然后生成三列输出:仅在file1中出现的行;仅在file2中出现的行;在两个文件中都存在的行。如果文件名用“- ”,则表示从标准输入读取。



  选项1、2或3抑制相应的列显示。例如comm - 12就只显示在两个文件中都存在的行;comm - 23只显示在第一个文件中出现而未在第二个文件中出现的行;comm - 123则什么也不显示。

--

 

利用sed 命令去掉windows下回车符及空白符


windows下的回车符为 \r\n   而unix下的回车符是 \n

1.去掉所有行的空格
sed  -i 's/ //g'   df.txt

2.去掉所有行的空格
sed  -e 's/ //g'   df.txt  >cwm.txt
 
3.将每一行拖尾的“空白字符”(空格,制表符)删除
sed 's/ *$//'  df.txt   >cwm.txt
 
4.将每一行中的前导和拖尾的空白字符删除
sed 's/^ *//;s/ *$//'  df.txt   >cwm.txt
 
5.去掉空行
sed    '/^$/d' df.txt  >cwm.txt
sed -e '/^$/d' df.txt  >cwm.txt
sed -i '/^$/d' df.txt 
这三个是等价的 但第三个会改变原文件
 
6.去掉windows下的回车符 (注意^M 在linux 下写法 按^M 是回车换行符,输入方法是按住CTRL+v,松开v,按m)
sed  -i 's/^M//g'  df.txt  
 

7.去掉windows下的回车符 (注意^M 在linux 下写法 按^M 是回车换行符,输入方法是按住CTRL+v,松开v,按m)
sed  -e 's/^M//g'  df.txt  >cwm.txt
  8.sed 用正则表达式  8个字符一组换行

echo "aaaaaaaabbbbbbbbccccccccdddddddd"|sed 's/.\{8\}/&\n/g'

aaaaaaaa
        bbbbbbbb
         cccccccc
        dddddddd


文章出处:DIY部落(http://www.diybl.com/course/6_system/linux/Linuxjs/20090317/162335.html)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值