重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!
创新互联科技有限公司专业互联网基础服务商,为您提供托管服务器,高防服务器租用,成都IDC机房托管,成都主机托管等互联网服务。这篇文章主要介绍使用linux的cut命令连接文件并打印到标准输出设备上,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
cut命令有两个主要的功能,第一是显示文件内容,第二是连接多个或多个文件。
若不指定file参数,该命令将读取标准输入。 必须指定 -b、-c 或 -f 标志之一。
语法格式:cut [参数] [文件]
常用参数:
-b | 以字节为单位进行分割 ,仅显示行中指定直接范围的内容 |
-c | 以字符为单位进行分割 , 仅显示行中指定范围的字符 |
-d | 自定义分隔符,默认为制表符”TAB” |
-f | 显示指定字段的内容 , 与-d一起使用 |
-n | 取消分割多字节字符 |
--complement | 补足被选择的字节、字符或字段 |
--out-delimiter | 指定输出内容是的字段分割符 |
参考实例
假设有一个学生报表信息,包含 No、Name、Mark、Percent:
[root@linuxcool ~]# cat student.txt
No Name Mark Percent
01 tom 69 91
02 jack 71 87
03 alex 68 98
使用 -f 选项提取指定字段(这里的 f 参数可以简单记忆为 --fields的缩写):
[root@linuxcool ~]# cut -f 2 student.txt
Name
tom
jack
alex
--complement 选项提取指定字段之外的列(打印除了第二列之外的列):
[root@linuxcool ~]# cut -f2 --complement student.txt
No Mark Percent
01 69 91
02 71 87
03 68 98
使用 -d 选项指定字段分隔符:
[root@linuxcool ~]# cat student2.txt
No;Name;Mark;Percent
01;tom;69;91
02;jack;71;87
03;alex;68;98
[root@linuxcool ~]# cut -f2 -d";" student2.txt
Name
tom
jack
alex
[root@linuxcool ~]# cat test.txt
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
打印第 1 个到第 3 个字符:
[root@linuxcool ~]# cut -c1-3 test.txt
abc
abc
abc
abc
abc
注意:-b 表示字节;-c 表示字符;-f 表示定义字段。
N- :从第 N 个字节、字符、字段到结尾; N-M :从第 N 个字节、字符、字段到第 M 个(包括 M 在内)字节、字符、段; -M :从第 1 个字节、字符、字段到第 M 个(包括 M 在内)字节、字符、字段。
打印前 2 个字符:
[root@linuxcool ~]# cut -c-2 test.txt
ab
ab
ab
ab
ab
打印从第 5 个字符开始到结尾:
[root@linuxcool ~]# cut -c5- test.txt
efghijklmnopqrstuvwxyz
efghijklmnopqrstuvwxyz
efghijklmnopqrstuvwxyz
efghijklmnopqrstuvwxyz
efghijklmnopqrstuvwxyz
以上是使用linux的cut命令连接文件并打印到标准输出设备上的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联-成都网站建设公司行业资讯频道!