echo--响应、创建文件
more--显示文件内容
cat--显示文件内容,合并文件
less--在新窗口查看文件内容,支持翻页和搜索
注:其他命令后接 | less
可用于debug,很好用
file--查看文件编码
file filename
sort--排序
sort filename #按照开始列-结束列的首字母对所有行排序,
sort -kx,x filename #按照第x列的首字母对所有行排序
sort -kx,y filename #按照第x-y列的首字母对所有行排序
sort -kx,xn filename #x列若为数值,则按照第x列的数值由小到大对所有行排序
sort -k1,1 -k2,2n filename #先按第1列首字母排序,再按第2列的数值排序
man sort #查看sort的使用介绍
注: sort默认用空格或tab键作为域(列)分隔符,如果需用其他形式的分隔符,可以用 -t选项指定。
cut--截取列
cut -f m filename #默认以tab为分隔,截取第m列
cut -f m,n filename #默认以tab为分隔,截取第m列和第n列
cut -f m-n filename #默认以tab为分隔,截取第m-n列
cut -f m- filename #默认以tab为分隔,截取第m列至结束的所有列
cut -f -n filename #默认以tab为分隔,截取第1-n列的所有列
cut -f m -d "分隔符" filename #指定分隔符,截取第m列
uniq--报告或去除重复行
uniq filename #连续的相同行只保留一行
uniq -u filename #只显示唯一的行
uniq -d filename #只输出重复的行
uniq -D filename #显示所有重复的行
man uniq #查看uniq的使用介绍
注:uniq通常是接在sort后使用
join--连接有共同域的行
- 一般是先对两文件进行sort排序,然后使用 join命令连接。
join -1 <file_1_field> -2 <file_2_field> <file_1> <file_2> #命令基本语法
join -1 1 -2 1 <file1> <file2> #将file1和file2的第1列相同的行连起来,file1中某行的第1列未在file2中出现时,则连接结果中会丢失相应行
join -1 1 -2 1 -a 1 <file1> <file2> #将file1和file2的第1列共同的行连起来,file1文件可以不遵循配对
grep--常用于搜索,支持正则表达式RE
- grep运行速度快,文本操作中应重点使用,这里只列举几个常用的情况,其他参见 linux里grep和egrep,fgrep的区别、man grep、其他网上资源。
grep "re" filename #将匹配正则表达式(re)的所有行输出到屏幕
grep -v "re" filename #将匹配正则表达式(re)之外的所有行输出到屏幕
grep -c "re" filename #统计匹配正则表达式(re)的所有行的总行数
grep -n "re" filename #将匹配正则表达式(re)的所有行加上前缀行号
awk--常用于表格,支持正则表达式RE
sed--常用于替换,支持正则表达式RE
RE--正则表达式
- RE的详细使用方法见 正则表达式简明参考 和 正则表达式快速入门教程(参考自 正则表达式30分钟入门教程)。
本文参考资料: