每天学一个 Linux 命令(30):cut

民工哥 2021-02-23 18:20:07
linux 命令 一个 每天 cut


命令简介

cut 将文件中行中内容按指定分隔符分割并输出。

cut命令还可以用于删除文件中指定行或段,然后打印输出更改后的内容。还可能用以拼接文件内容到一个新的文件中,功能和cat类似。

命令格式

cut [选项] [链接文件名]
cut [OPTION] [LINKNAME]

选项说明

-b #只显示行中指定(字节数)的内容
-c #只显示行中指定(字符数)的内容
-d #指定字段的分隔符,默认为“TAB”
-f #打印指定字段(列)的内容
-n #与“-b”选项连用,不分割多字节字符
-s #不打印不包含定界符的行的内容
--help #打印帮助信息
--version #打印版本信息

cut命令中指定字节或字符范围的说明如下:

N #从1字节、字符或字段开始到第N个字节、字符或字段
N- #从第N个字节、字符或字段到行的结尾
N-M #从第N个字节、字符或字段到第M个字节,字符或字段
-M #从第1个字节、字符或字段到第M个字节、字符或字段
注意:所有的范围取值需为整数,如:10,10-,10-20,-20。

应用举例

#打印指定字节数的内容
[root@centos7 testdir]# cat mingongge1.txt
1111 11 111111 1 111 1 1 11
22222222222 222 2222 22 2 2 2
33333333333 333333 3333 333 33
444444444444 444 444444444
[root@centos7 testdir]# cut -b 3 mingongge1.txt
1
2
3
4
#截取指定字段内容
[root@centos7 testdir]# cat cuttest.txt
1 2 3 4 5 6 8
9 8 7 6 5 4 3
2 1 9 8 7 6 5
#以空格为分隔,打印每一行的第一列
[root@centos7 testdir]# cut -f1 -d" " cuttest.txt
1
9
2
#以空格为分隔,打印每一行的第一列和第三列
[root@centos7 testdir]# cut -f1,3 -d" " cuttest.txt
1 3
9 7
2 9
#以空格为分隔,打印每一行的第三列到结尾
[root@centos7 testdir]# cut -f3- -d" " cuttest.txt
3 4 5 6 8
7 6 5 4 3
9 8 7 6 5
#截取每一行第2-5个字符
[root@centos7 testdir]# cut -c 2-5 cuttest.txt
2 3
8 7
1 9
#截取每一行第一个到第五个字符
[root@centos7 testdir]# cut -c -5 cuttest.txt
1 2 3
9 8 7
2 1 9
#截取每一行第五个到最后一个字符
[root@centos7 testdir]# cut -c 5- cuttest.txt
3 4 5 6 8
7 6 5 4 3
9 8 7 6 5

指定分隔符截取内容的用法非常实用,工作中也经常使用。

本文分享自微信公众号 - 民工哥技术之路(jishuroad) ,作者:点击关注 ????

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间: 2021-01-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

版权声明
本文为[民工哥]所创,转载请带上原文链接,感谢
https://cloud.tencent.com/developer/article/1791942

  1. JAVA的函数式接口
  2. JAVA里的元祖类
  3. JQuery Gantt package to create a new ASP.NET project
  4. Binary conversion of Unicode code (Java)
  5. The functional interface of Java
  6. Yuanzu class in Java
  7. Java中的CPU占用高和内存占用高的问题排查
  8. HashMap连环问你能答出几道?
  9. IntelliJ IDEA 还能画思维导图,果然最强 IDE!
  10. java中的反射和代理
  11. Troubleshooting of high CPU and memory usage in Java
  12. How many questions can you answer?
  13. IntelliJ idea can also draw mind maps. It's really the strongest ide!
  14. Reflection and proxy in Java
  15. Java中的CPU占用高和内存占用高的问题排查
  16. Linux OOM(out of memory)
  17. mysql 自定义函数因参数名称报错
  18. Troubleshooting of high CPU and memory usage in Java
  19. Linux OOM(out of memory)
  20. MySQL user defined function error due to parameter name
  21. echarts-gl 3D 地图柱状图可视化GDP
  22. Visualization of histogram of ecarts GL 3D map
  23. 金三银四如何应对Redis面试,一文深入Redis实战实践!
  24. 阿里资深架构师定制金三银四面试整理出来的一份Java核心知识点.pdf
  25. 为什么Java开发工程师工资高,却很多人想转行?
  26. How to deal with the interview of redis!
  27. Ali senior architect customizes a Java core knowledge point sorted out in the interview of golden, silver and four.pdf
  28. Why do java development engineers have high salaries, but many people want to change careers?
  29. 用注解开发SpringMVC
  30. Developing spring MVC with annotations
  31. 编译redis报错/deps/hiredis/libhiredis.a解决
  32. Compile redis report error / DEPs / hirredis / libhirredis. A solution
  33. 用注解开发SpringMVC
  34. Developing spring MVC with annotations
  35. Spring学习笔记-01
  36. Centos安装和卸载docker
  37. Spring learning notes-01
  38. Installing and uninstalling docker in CentOS
  39. Java基础-异常
  40. Java基础-反射
  41. Java基础-继承
  42. k8s部署 (进行中)
  43. Hive-常见调优方式 && 两个面试sql
  44. 死磕Spring之IoC篇 - BeanDefinition 的加载阶段(XML 文件)
  45. Java basics exception
  46. Java Basics - Reflection
  47. Java Basics - inheritance
  48. K8s deployment (in progress)
  49. Hive common tuning methods & two interview SQL
  50. The loading phase of beandefinition (XML file)
  51. 死磕Spring之IoC篇 - BeanDefinition 的加载阶段(XML 文件)
  52. Hive-常见调优方式 && 两个面试sql
  53. The loading phase of beandefinition (XML file)
  54. Hive common tuning methods & two interview SQL
  55. iconv文件编码转换由windows文件放到linux下
  56. The code conversion of iconv file is put into Linux by windows file
  57. SpringBoot2+intellij IDEA开发前环境准备
  58. Preparation of pre development environment for springboot2 + IntelliJ idea
  59. Docker私有仓库部署
  60. Docker private warehouse deployment