cut用来从标准输入或者文本文件中剪切列或者域。

其使用方法为:

cut [options] file1 file2 

其可用的选项有:

 -c list 指定剪切字符数。 

 -f field 指定剪切域数。 

 -d 指定与空格和t a b键不同的域分隔符。 

 - c用来指定剪切范围,如下所示:

      - c 1,5-7 剪切第1个字符,然后是第5到第7个字符。 

    -c1-50 剪切前5 0个字符。 

 -f 格式与- c相同。 

    -f 1 ,5 剪切 第1域,第5域。 

   - f 1,10-12 剪切第1域,第1 0域到第1 2域。 

具体示例如下:

cat 1.txt 

hello1 hello11

hello2 hello12

hello3 hello13

获取每行第一个字符:cut -c 1 1.txt 
h
h
h
当修改将起始改为空格时:cat 1.txt 
 hello1 hello11
hello2 hello12
hello3 hello13
执行上面的命令:cut -c 1 1.txt 
 
h
h
由此可以看出其就是取第一个字符,不论是不是空格
获取多个字符:cut -c 1-4 1.txt 
hell
hell
hell
 
获取第一个域:cut -f 1 1.txt 
hello1 hello11
hello2 hello12
hello3 hello13
指定分隔符为空格:cut -d " " -f 1 1.txt 
hello1
hello2
hello3
 
cut -d " " -f 1,2 1.txt 
hello1 hello11
hello2 hello12
hello3 hello13
 
cut -d " " -f 1-2 1.txt 
hello1 hello11
hello2 hello12
hello3 hello13
 
cut -dl -f 2 1.txt 
 
 
 
 结果为空
cut -d "l" -f 1-2 1.txt 
hel
hel
hel
看出其多个域时会包括分隔符。
awk -F"l" '{print $1,$2}' 1.txt 
he 
he 
he 
其使用l作为了分隔符,即使多个域,其的结果也不会包含分隔符。
 
 
 
 
 
posted on 2012-04-19 16:49  @且听风吟@  阅读(303)  评论(0编辑  收藏  举报