cut
cut一般可以认为用来切割数据,并在标准输出上显示,所以也可认为用来显示指定部分的数据,当然也是以行为单位,这个跟sed很像 cut命令格式为:
cut 选项 参数
常用选项:
-b : 以字节为单位,提取出指定一定范围内的字节
-c : 以字符为单位,提取出指定一定范围内的字符
-f : 以字段为单位,提取出指定一定范围内的字段
-d : 指定字段的分隔符,一般搭配-f使用
-n : 设定不分割多字节字符,一般搭配-b使用
--complement : 提取出指定字段以外的字段
注:一个汉字算三个字节,一个空格算一个字节
常见用法:
提取每行前5个字节
cut -b 1-5
提取每行第1个和5-6个的字节
cut -b 1,5-6
提取每行前2个字符
cut -c 1-2
提取每行以:分割的第2、第5个字段(cut的间隔符只允许是一个字符)
cut -t : -f 2,5
提取除第2个字段意外的所有的字段
cut -f 2 --complement
head && tail
虽然说提取文本的前几行有很多方法可以实现
比如perl的单行命令,提取前5行
perl -lne 'print $_ if $. <= 5' abc.txt
比如sed命令,提取前5行
sed 5q abc.txt
sed -n 1,5p abc.txt
但是用head命令是最简单有效的,如:
head -n 5 abc.txt
显示从头到倒数第2行
head -n -1 abc.txt
当然如果是显示倒数3行内容,那可使用tail命令了
tail -n 3 abc.txt
如果要显示文件的头信息(其实是文件名?),则需要用-v参数
head -n 5 -v abc.txt
head还可设置显示最开始的内容的字符数
head -c 100 abc.txt
wc
wc是平时用的比较多的命令了,用于计算行数,一般常用于处理来自管道的输入数据
wc如果不加任何参数的话,是默认输出一行报告,分别是行数,字符数以及字节数
计算2个文件的数据,不加参数,则分别输出2个文件的行数,字符数和字节数
wc abc.txt xxx.txt
加上-c参数表示只计算字节数,-l表示行数,-w表示字符数;一般应该还是行数的用的比较多吧
wc -c abc.txt wc -l abc.txt wc -w abc.txt
最后应该是awk命令,但是其作为一种编程语言,在linux下的一个强力文本处理工具,其用法是比较复杂的,但是由于perl用的更加得心应手,所以一直没去学awk了。。。
本文出自于http://www.bioinfo-scrounger.com转载请注明出处