日期:2014-05-16  浏览次数:20607 次

Linux文件内容显示、匹配、排序、统计、比较操作

一:显示文件内容命令:cat more less head tail
1.1
cat readme.txt
cat -A readme.txt? //是以$符号结束一句,不能用-a表示,区分大小写
1.2
more readme.txt
more -dc readme.txt
1.3
less readme.txt? //相比more可以使用pageup pagedown
less jiayuan? //less 目录时类似于list -la命令
1.4
head -3 readme.txt //显示前面三行
1.5
tail -1 readme.txt //显示后面一行,测试发现都没有支持+n的形式,教程有错啊!汗
二:文件内容匹配查询命令:grep egrep fgrep
egrep用于正则表达式匹配 fgrep检测固定字符串
2.1
grep既可以检测固定字符串也可以匹配正则表达式,故查询文件内容用grep即可
选项 -i忽略大小写 -n在输出前加上匹配串所在的行号。
?路径下输入:
grep -in jerome readme.txt
显示 5:??? Jerome Cen
三:文件内容排序显示处理命令:sort uniq
3.1
sort read.txt
sort +1 -2 read.txt
sort readmet.txt>read.txt
#cat veglist.txt fruitlist.txt|sort>clist.txt
是以字典顺序进行排序,当用+1 -2时是以行的第二个字符作为判断的依据。
cat实现用
管道操作把合并后的文件输入给命令sort,然后sort后用>号将其移动到read.txt中 (若没有文件时创建它)。
3.2
uniq clist.txt
uniq -u clist.txt
第一个内容重复的显示一行,第二个只显示没有内容重复过的行。
四:文件内容统计命令 wc
wc -lcw或-lwc read.txt
都是显示行数、字数、字节数 read.txt
-l是line -w是word -c是count bytes.
如果列出多个文件名则给出分别的统计和总体的统计。
如:
wc -w read.txt clist.txt
五:文件内容比较命令 comm? diff
comm -23 read.txt clist.txt
选项为-23显示只在read.txt出现而没有在clist.txt中出现的行。
-23为两文件都出现的行,没有什么价值,还是用-23来做代码分析好用。
comm要事先用sort排序,而diff不需要
diff read.txt clist.txt
列出将文件read.txt 通过怎样的修改变为clist.txt没有什么用处,直接copy过去不就行了,麻烦的
修改。