linux也有砍一刀的功能,用命令cut砍掉文件多余内容
nanshan 2024-12-26 15:43 12 浏览 0 评论
简介
cut是一个命令行实用程序,用于从Linux系统中的每一行文件中删除部分。它将每个文件中选定的行部分打印到标准输出。
用户必须为cut命令指定字节、字符或字段的列表。因此,cut只在使用-b、-c或-f选项时有效。
可以通过以下的方式指定字节、字符或者字段列表:
N :N个字节、字符或者字段。从1开始。
N-M : N到M个字节、字符或者字段。
N- : 从第N个字节、字符或者字段开始。
-M :从第一个到第M个字节、字符或者字段。
示例
cut命令的语法格式:
$ cut OPTION... [FILE]...
1 使用cut命令只打印选择的字节
使用参数-b 或者 --bytes 选择需要的字节并打印到终端。
命令格式:
$ cut -b N file
或者
$ cut --bytes=N file
示例:
yunzhong@DESKTOP-9VB7LN7:/tmp/cutdir$ cat friutes.txt
apples
bananas
pears
mongos
orages
watermelon
hello world
hello again
yunzhong@DESKTOP-9VB7LN7:/tmp/cutdir$ cut -b 1 friutes.txt
a
b
p
m
o
w
h
h
yunzhong@DESKTOP-9VB7LN7:/tmp/cutdir$ cut -b 1,3,5 friutes.txt
ape
bnn
pas
mno
oae
wtr
hlo
hlo
2 使用cut命令选择连续范围内的字节
可以使用‘-’,选择连续范围内的字节。TAB和空格都被记为一个字节。
命令格式:
$ cut -b N-M file
示例:
yunzhong@DESKTOP-9VB7LN7:/tmp/cutdir$ cat friutes.txt
apples
bananas
pears
mongos
orages
watermelon
hello world
hello again
yunzhong@DESKTOP-9VB7LN7:/tmp/cutdir$ cut -b 6-9 friutes.txt
s
as
s
s
melo
wor
aga
当有多个文件需要操作时,cut命令可以让操作更加快捷:一次指定多个文件。
yunzhong@DESKTOP-9VB7LN7:/tmp/cutdir$ cut -b 1-5 friutes.txt test.txt
apple
banan
pears
mongo
orage
water
hello
hello
You h
Hello
print
3 打印选中的字符
类似于字节,我们可以使用-c 或者 --characters 参数,指定字符并打印出来。TAB和空格都记为一个字符。
命令格式:
$ cut -c N file
或者
$ cut --characters=N file
示例:
yunzhong@DESKTOP-9VB7LN7:/tmp/cutdir$ cut -c 1-5 test.txt
You h
Hello
print
遇?
yunzhong@DESKTOP-9VB7LN7:/tmp/cutdir$ cut -c 1-6 test.txt
You ha
Hello
print
遇到
yunzhong@DESKTOP-9VB7LN7:/tmp/cutdir$ cat test.txt
You have my attention!
Hello world.
print the world.
遇到中文怎么办?
从上面的例子可以看出,中文打印会出现乱码的情况,因为一个中文需要多个字节标识,对应到字符,也被认为是多个字符。
4 打印选择的字段
参数-f 或者 fields 可以指定字段。 这种方式还打印不包含分隔符的任何行。 分隔符是标记一行的开始和结束的字符。TAB是默认的字段分隔符。
命令格式:
$ cut -f N file
或者
$ cut --field N file
示例:
yunzhong@DESKTOP-9VB7LN7:/tmp/cutdir$ cut -f 1 test.txt
You have my attention!
Hello world.
print the world.
遇到中文怎么办?
yunzhong@DESKTOP-9VB7LN7:/tmp/cutdir$ cut --field 1 test.txt
You have my attention!
Hello world.
print the world.
遇到中文怎么办?
5 打印从第N个字节、字符或字段到结束
当打印字节时,命令格式:
$ cut -b N- file
当需要指定字符时,命令格式:
$ cut -c N- file
当需要指定字段时,命令格式:
$ cut -f N- file
示例:
yunzhong@DESKTOP-9VB7LN7:/tmp/cutdir$ cut -f 2- test.txt
You have my attention!
Hello world.
print the world.
遇到中文怎么办?
分割
yunzhong@DESKTOP-9VB7LN7:/tmp/cutdir$ cut -c 2- test.txt
ou have my attention!
ello world.
rint the world.
??到中文怎么办?
??行用TAB 分割
yunzhong@DESKTOP-9VB7LN7:/tmp/cutdir$ cut -b 2- test.txt
ou have my attention!
ello world.
rint the world.
??到中文怎么办?
??行用TAB 分割
6 打印前M个字符、字节或字段
按照不同的参数,都可以指定前M个:
$ cut -b -M file
$ cut -c -M file
$ cut -f -M file
示例
yunzhong@DESKTOP-9VB7LN7:/tmp/cutdir$ cat test.txt2
You have my attention!
Hello world.
print the world.
yunzhong@DESKTOP-9VB7LN7:/tmp/cutdir$ cut -c -1 test.txt2
Y
H
p
yunzhong@DESKTOP-9VB7LN7:/tmp/cutdir$ cut -c -2 test.txt2
Yo
He
pr
yunzhong@DESKTOP-9VB7LN7:/tmp/cutdir$ cut -b -2 test.txt2
Yo
He
pr
yunzhong@DESKTOP-9VB7LN7:/tmp/cutdir$ cut -f -2 test.txt2
You have
Hello world.
print the world.
7 使用不同的分隔符
默认情况下,cut命令使用TAB作为分隔符。参数-d 或者 --delimiter可以让用户指定分隔符。分隔符必须为一个字符。
命令格式:
$ cut -d DELIM -f N file
或者
$ cut --delimiter=DELIM -f N file
示例,使用空格作为分隔符需要通过''指定,其他的字符可以直接写:
yunzhong@DESKTOP-9VB7LN7:/tmp/cutdir$ cat friutes.txt
apples
bananas
pears
mongos
orages
watermelon
hello world
hello again
yunzhong@DESKTOP-9VB7LN7:/tmp/cutdir$ cut -d ' ' -f 2 friutes.txt
apples
bananas
pears
mongos
orages
watermelon
world
again
yunzhong@DESKTOP-9VB7LN7:/tmp/cutdir$ cut -d a -f 2 friutes.txt
pples
n
rs
mongos
ges
termelon
hello world
g
8 只打印带分隔符的行
默认情况下,如果一行不存在分隔符,这一行全部信息都会被打印出来。我们可以使用参数-s 或者 --only-delimited,让-f参数打印信息只包含哪些有分隔符的行。
命令格式:
$ cut -sf n file
或者
$ cut --only-delimited -f n file
示例:
yunzhong@DESKTOP-9VB7LN7:/tmp/cutdir$ cut -d : -f 2 test.txt
You have my attention!
Hello world.
print the world.
遇到中文怎么办?
本行用TAB 分割
yunzhong@DESKTOP-9VB7LN7:/tmp/cutdir$ cut -d : -sf 2 test.txt
yunzhong@DESKTOP-9VB7LN7:/tmp/cutdir$
9 打印被筛掉的信息
--complement参数可以让我们打印被cut命令切掉的信息。
它可以配合参数-b, -c, 或者 -f使用。
命令格式:
$ cut --complement -b N file
示例:
yunzhong@DESKTOP-9VB7LN7:/tmp/cutdir$ cut -b -2 friutes.txt
ap
ba
pe
mo
or
wa
he
he
yunzhong@DESKTOP-9VB7LN7:/tmp/cutdir$ cut -b -2 --complement friutes.txt
ples
nanas
ars
ngos
ages
termelon
llo world
llo again
10 打印cut命令的版本
可以使用参数--version打印cut版本。
示例:
yunzhong@DESKTOP-9VB7LN7:/tmp/cutdir$ cut --version
cut (GNU coreutils) 8.30
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by David M. Ihnat, David MacKenzie, and Jim Meyering.
11 查看帮助信息
使用参数--help,查看cut命令的帮助信息,获得本文实例之外的用法。
cut --help
相关推荐
- 在 Ubuntu 上安装 Zabbix(以 Zabbix 6.4 LTS 版本为例)
-
Zabbix是一个流行的开源监控解决方案,能够监控各种网络参数和服务器健康状态。一、环境准备系统要求Ubuntu20.04/22.04LTS至少2GBRAM(生产环境建议4GB+)至少1...
- 如何在 Ubuntu 24.04 服务器上安装 Apache Solr
-
ApacheSolr是一个免费、开源的搜索平台,广泛应用于实时索引。其强大的可扩展性和容错能力使其在高流量互联网场景下表现优异。Solr基于Java开发,提供了分布式索引、复制、负载均衡及自...
- 如何在 Ubuntu 24.04 LTS 或 22.04/20.04 上安装 Apache Maven
-
Maven是由Apache托管的开源工具,用于管理Java项目。它包含一个项目对象模型(POM):一个配置文件(XML),其中包含项目的基本信息,包括配置、项目依赖项等。Maven可以处理...
- Cursor的终极对手——Trae Pro最新系统提示词
-
前段时间,字节的AI编程神器Trae国际版,终于甩出了Pro订阅计划!很多对它又爱又恨的小伙伴,直呼:终于等到你。爱它,是因为Trae长期免费+体验真香;恨它?还不是那该死的排队等待,...
- AI系统提示词:V0(ai代码提示)
-
以下是对V0系统提示词(SystemPrompt)的分部分讲解与解读,帮助你理解其核心内容和设计意图。V0系统提示词##CoreIdentity-Youarev0,Vercel&...
- 8岁男童失踪第13天,搜救人员发现可疑水库,更恶心的事情发生了
-
Lookingatyourrequest,Ineedtorewritethearticleaboutthe8-year-oldmissingboywhilemaking...
- docker常用指令及安装rabbitMQ(docker安装zabbix)
-
一、docker常用指令启动docker:systemctlstartdocker停止docker:systemctlstopdocker重启docker:systemctlrestart...
- 三步教你用Elasticsearch+PyMuPDF实现PDF大文件秒搜!
-
面对100页以上的大型PDF文件时,阅读和搜索往往效率低下。传统关系型数据库在处理此类数据时容易遇到性能瓶颈,而Elasticsearch凭借其强大的全文检索和分布式架构,成为理想解决方案。通过...
- ElasticSearch中文分词插件(IK)安装
-
坚持原创,共同进步!请关注我,后续分享更精彩!!!前言ElasticSearch默认的分词插件对中文支持很不友好。一段话按规则会以每个中文字符来拆解,再分别建立倒排索引。如"中华人民共和国国歌...
- SpringBoot使用ElasticSearch做文档对象的持久化存储?
-
ElasticSearch是一个基于Lucene的开源搜索引擎,广泛应用于日志分析、全文搜索、复杂查询等领域,在有些场景中使用ElasticSearch进行文档对象的持久化存储是一个很不错的选择...
- Elasticsearch数据迁移方案(elasticsearch copyto)
-
前言最近小编要去给客户部署一套系统涉及到了Mysql和ES数据的迁移,下面就给大家分享一下ES数据迁移的几套方案,根据具体的使用场景来选择不同的迁移方案能使你事倍功半,话多说下面就一一介绍。Elast...
- Rancher部署单体ElasticSearch(rancher2.5部署)
-
Rancher是k8s图形管理界面,之前曾有写文章介绍如何安装。ElasticSearch是热门搜索引擎,很多地方都有用到,常规安装部署略显繁琐,本文介绍在k8s下用rancher简易部署ES。1.在...
- Elasticsearch在Java项目的搜索实践:从零开始构建高效搜索系统
-
Elasticsearch在Java项目中的搜索实践:从零开始构建高效搜索系统在现代的Java项目中,数据量激增,传统的数据库查询方式已经无法满足快速检索的需求。这时,Elasticsearch(E...
- 小白入门-Kibana安装(kibana安装配置)
-
一Kibana基础1.1介绍Kibana是一款免费且开放的前端应用程序,其基础是ElasticStack,可以为Elasticsearch中索引的数据提供搜索和数据可视化功能。Kiban...
- Docker上使用Elasticsearch,Logstash,Kibana
-
在对一个项目做性能测试时我需要处理我们web服务器的访问日志来分析当前用户的访问情况。因此,我想这是试用ELK的一个好机会。ELK栈首先要注意的是使用它是非常简单的。从决定使用ELK到在本机上搭一个...
你 发表评论:
欢迎- 一周热门
-
-
极空间如何无损移机,新Z4 Pro又有哪些升级?极空间Z4 Pro深度体验
-
UOS服务器操作系统防火墙设置(uos20关闭防火墙)
-
如何修复用户配置文件服务在 WINDOWS 上登录失败的问题
-
手机如何设置与显示准确时间的详细指南
-
如何在安装前及安装后修改黑群晖的Mac地址和Sn系列号
-
日本海上自卫队的军衔制度(日本海上自卫队的军衔制度是什么)
-
爱折腾的特斯拉车主必看!手把手教你TESLAMATE的备份和恢复
-
10个免费文件中转服务站,分享文件简单方便,你知道几个?
-
FANUC 0i-TF数据备份方法(fanuc系统备份教程)
-
NAS:DS video/DS file/DS photo等群晖移动端APP远程访问的教程
-
- 最近发表
-
- 在 Ubuntu 上安装 Zabbix(以 Zabbix 6.4 LTS 版本为例)
- 如何在 Ubuntu 24.04 服务器上安装 Apache Solr
- 如何在 Ubuntu 24.04 LTS 或 22.04/20.04 上安装 Apache Maven
- Cursor的终极对手——Trae Pro最新系统提示词
- AI系统提示词:V0(ai代码提示)
- 8岁男童失踪第13天,搜救人员发现可疑水库,更恶心的事情发生了
- docker常用指令及安装rabbitMQ(docker安装zabbix)
- 三步教你用Elasticsearch+PyMuPDF实现PDF大文件秒搜!
- ElasticSearch中文分词插件(IK)安装
- SpringBoot使用ElasticSearch做文档对象的持久化存储?
- 标签列表
-
- linux 查询端口号 (58)
- docker映射容器目录到宿主机 (66)
- 杀端口 (60)
- yum更换阿里源 (62)
- internet explorer 增强的安全配置已启用 (65)
- linux自动挂载 (56)
- 禁用selinux (55)
- sysv-rc-conf (69)
- ubuntu防火墙状态查看 (64)
- windows server 2022激活密钥 (56)
- 无法与服务器建立安全连接是什么意思 (74)
- 443/80端口被占用怎么解决 (56)
- ping无法访问目标主机怎么解决 (58)
- fdatasync (59)
- 405 not allowed (56)
- 免备案虚拟主机zxhost (55)
- linux根据pid查看进程 (60)
- dhcp工具 (62)
- mysql 1045 (57)
- 宝塔远程工具 (56)
- ssh服务器拒绝了密码 请再试一次 (56)
- ubuntu卸载docker (56)
- linux查看nginx状态 (63)
- tomcat 乱码 (76)
- 2008r2激活序列号 (65)