一、分页命令 pr
cat test | pr -t -n
-t 表示取消pr默认在页首页尾添加的空行
-n 添加行号
注意:不能写成cat test | pr -nt ,这样写会屏蔽到-t的作用
二、显示头文件命令 head
head -5 test (使用通道的方式:cat test | head -5)
显示前5行
三、显示文件尾 tail
tail -5 test (使用通道的方式:cat test | tail -5)
显示最后5行
tail -c -5 test
显示最后5个字符(注意:head不行)
四、复制命令 tee
head -t test | tee shortfile
把前5行复制到文件shortfile中,并显示到屏幕上
五、垂直截取 cut
5.1 按列截取
cut -c 6 test 表示截取第六列
cut -c -6 test 首行到第六列
cut -c 6- test第55列到行尾
5.2 按字段截取
cut -d \| -f 2 test (或者可以这样写cut -d '|' -f 2 test)
-d \| 表示按|作为分隔符号,这里需要转义,所以要加\(如要按空格字符则 -d ' '即可)
-f 2 选取第二个字段
六、排序命令 sort
sort -t '|' -k 2 test
以|为分隔符号 选取第二个关键字来升序
其他有用参数:
-u 删除重复行
-n 按数值大小排序
-r 降序
-f 不区分大小写
-o file把排序结果保存到文件file中
-k m1.n1,m2.n2r(排序先按第m1个字段的第n1列升序,再按第m2个字段的第n2列降序)
七、定位重复行和非重复行命令 uniq
sort test | uniq 先排序然后把重复项去掉
其他可选项:
-u 选取非重复项
-d 选取重复项
-c 统计数目,并在行首显示出来
注意:必须先对数据进行排序才能使用uniq
字符变换命令 tr
tr '|\' '~-' < test | head -3(或者 head -3 test | tr '|\' '~-')
这里把|替换为~,把\替换为-
注意:两个表达式的长度必须相同,否则较长的表达式找不到对应的字符,
tr命令只接受标准输入,不能使用文件名作为参数,因此它的输入必须来自重定向文件或管道符