脚本专栏 
首页 > 脚本专栏 > 浏览文章

linux的cut命令用法总结

(编辑:jimmy 日期: 2024/11/26 浏览:3 次 )

要用到,来mark一下:

ubuntu@VM-0-15-ubuntu:~/taoge$ cat b.txt 
abc
abcd
ubuntu@VM-0-15-ubuntu:~/taoge$ cat b.txt | cut -c 1
a
a
ubuntu@VM-0-15-ubuntu:~/taoge$ cat b.txt | cut -c 2
b
b
ubuntu@VM-0-15-ubuntu:~/taoge$ cat b.txt | cut -c 1-2
ab
ab
ubuntu@VM-0-15-ubuntu:~/taoge$ cat b.txt | cut -c 1-3
abc
abc
ubuntu@VM-0-15-ubuntu:~/taoge$ cat b.txt | cut -c 1-4
abc
abcd
ubuntu@VM-0-15-ubuntu:~/taoge$ cat b.txt | cut -c 1-5
abc
abcd
ubuntu@VM-0-15-ubuntu:~/taoge$ cat b.txt | cut -c 1-6
abc
abcd
ubuntu@VM-0-15-ubuntu:~/taoge$ 

常常配合awk使用。

cut命令可以按字节,字符,域来截取字串,在某些情况下使用cut,确实很方便,下面简单总结下:

1.按字符截取:(源字串:123:456:789)

1>截取第三个字符:

echo 123:456:789 | cut -c3
3

2>截取第三到第六之间的字符:

echo 123:456:789 | cut -c3-6
3:45

3>截取前三个字符

echo 123:456:789 | cut -c-3
123

4>提取第三个及其后面的所有字符

echo 123:456:789 | cut -c3-
3:456:789

5>提取第三到第六和第八到第十间的字符

echo 123:456:789 | cut -c3-6,8-10
3:45:78

小结下

这个“-”比较有意思,

在inx前,表示从字串投开始,

放在inx后,表示从idx开始到字串末尾,

在两个idx之间,表示从idx1到idx2。

还有这个“,”可以连接我们选择的不连续的域,

比如要取第1,3,5,7个字符: 

echo 123:456:789 | cut -c1,3,5,7
1346

对于-b选项应该和-c选项差不多吧,就是单位不同而已(我没有像上面一样测试,只是我的理解)

对于-d选项需要配合着-f选项使用,-d是用来指定分隔符,-f用来指定提取第几个域的内容

echo 123:456:789 | cut -d : -f 3
789

cut比较小巧,在适当的场景下使用效率很高,但是它不支持正则表达式,所以在复杂的情况下还是使用awk或者sed比较好!

[xxx@~]$ cut --help

Usage: cut OPTION... [FILE]...
Print selected parts of lines from each FILE to standard output.

Mandatory arguments to long options are mandatory for short options too.
 -b, --bytes=LIST    select only these bytes
 -c, --characters=LIST  select only these characters
 -d, --delimiter=DELIM  use DELIM instead of TAB for field delimiter
 -f, --fields=LIST    select only these fields; also print any line
              that contains no delimiter character, unless
              the -s option is specified
 -n           (ignored)
   --complement    complement the set of selected bytes, characters
              or fields
 -s, --only-delimited  do not print lines not containing delimiters
   --output-delimiter=STRING use STRING as the output delimiter
              the default is to use the input delimiter
   --help   display this help and exit
   --version output version information and exit

Use one, and only one of -b, -c or -f.  Each LIST is made up of one
range, or many ranges separated by commas.  Selected input is written
in the same order that it is read, and is written exactly once.
Each range is one of:

  •   N     N'th byte, character or field, counted from 1
  •   N-    from N'th byte, character or field, to end of line
  •   N-M   from N'th to M'th (included) byte, character or field
  •   -M    from first to M'th (included) byte, character or field

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接

上一篇:详解Linux查找目录下的按时间过滤的文件
下一篇:Linux中mkdir命令详解
一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?
友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网 网站地图 SiteMap