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)