Linux cut 命令详解

Linux(Centos 7.6)命令详解:cut 从每个文件中打印选定行的部分内容到标准输出(Print selected parts of lines from each FILE to standard output.) 阅读详情

cut 命令在Linux和Unix中的作用是从文件中的每一行中截取出一些部分,并输出到标准输出中。我们可以使用 cut 命令从一行字符串中于以字节,字符,字段(分隔符)等单位截取一部分内容出来。 Linux命令 在本文中,我们通过一些例子来了解 cut 命令的使用,这些使用方法在我们的日常工作中也是非常常用的。

Cut 命令和语法

cut 命令的基本语法如下:

  • $ cut OPTION... [FILE]...

我们先来了解一下 cut 的一些选项,cut 命令必须要指定选项才能执行。

-f : 提取指定的字段,cut 命令使用 Tab 作为默认的分隔符。

-d : Tab 是默认的分隔符,使用这一选项可以指定自己的分隔符。

-b : 提取指定的字节,也可以指定一个范围。

-c : 提取指定的字符,可以是以逗号分隔的数字的列表,也可以是以连字符分隔的数字的范围。

–complement : 补充选中的部分,即反选。

–output-delimiter : 修改输出时使用的分隔符。

--only-delimited : 不输出不包含分隔符的列。

我们以如下的名为 context.txt 的文本文件和 /etc/passwd 文件来为例来进行说明。

$ cat content.txt Ubuntu LinuxMicrosoft WindowsOsX El CapitanUnixFreeBSD

如何指定分隔符

最常用的选项是 -d 和 -f 的组合,这会根据 -d 指定的分隔符和 -f 列出的字段来提取内容。

例如在这个例子中只打印出 /etc/passwd 文件每一行的第一个字段,用的分隔符是:

$ cut -d':' -f1 /etc/passwdrootbindaemonadmlpsyncshutdownhaltmailoperatorgamesalvinliangxu...

在下面这个例子中我们用空格作为分隔符打印 content.txt 文件的第一个字段

$ cut -d " " -f 1 content.txt UbuntuMicrosoftOsXUnixFreeBSD

在下面这个例子中我们提取了多个字段。这里,我们使用冒号(:)分隔符从文件 /etc/passwd 中包含字符串 /bin/bash 的行提取第一和第六个字段。

$ grep "/bin/bash" /etc/passwd | cut -d':' -f1,6root:/rootalvin:/home/alvin

要显示字段的某个范围,可以指定开始和结束的字段,中间用连字符(-)连接,如下所示:

$ grep "/bin/bash" /etc/passwd | cut -d':' -f1-4,6,7root:x:0:0:/root:/bin/bashalvin:x:1000:1000:/home/alvin:/bin/bash

如何补全选择的输出

要补全选择输出的字段(即反选),使用 --complement 选项。这一选项输出所有的字段,除了指定的字段。

在下面这个例子中输出 /etc/passwd 文件中包含 /bin/bash 的行中除了第二个字段以外的所有字段:

$ grep "/bin/bash" /etc/passwd | cut -d':' --complement -f2root:0:0:root:/root:/bin/bash

如何指定输出的分隔符

使用 --output-delimiter 可以指定输出的分隔符。输入的分隔符由 -d 来指定,而输出分隔符和输入分隔符默认是一样的。

我们先以下面的例子来测试不指定输出分隔符时的输出;

$  cut -d: -f1,7  /etc/passwd |  sort |  uniq -u_apt:/usr/sbin/nologinbackup:/usr/sbin/nologinbin:/usr/sbin/nologindaemon:/usr/sbin/nologindnsmasq:/usr/sbin/nologingames:/usr/sbin/nologingnats:/usr/sbin/nologinirc:/usr/sbin/nologinlandscape:/usr/sbin/nologinlist:/usr/sbin/nologinlp:/usr/sbin/nologinlxd:/bin/false

现在我们加上--output-delimiter选项,将输出分隔符指定为空格:

$  cut -d: -f1,7 --output-delimiter ' ' /etc/passwd |  sort |  uniq -u_apt /usr/sbin/nologinbackup /usr/sbin/nologinbin /usr/sbin/nologindaemon /usr/sbin/nologindnsmasq /usr/sbin/nologingames /usr/sbin/nologingnats /usr/sbin/nologinirc /usr/sbin/nologinlandscape /usr/sbin/nologinlist /usr/sbin/nologinlp /usr/sbin/nologinlxd /bin/false

我们再测试一个例子,用分隔符让每一行打印一个字段。

我们将 --output-delimiter 指定为 $'\n' 表换行。

输出结果为:

$ grep root /etc/passwd | cut -d':' -f1,6,7 --output-delimiter=$'\n'root/root/bin/bashoperator/root/sbin/nologin

如何以字符的方式提取内容

-c选项可以用来根据字符位置进行提取,注意空格和Tab也以字符来处理。

打印 context.txt 文件每一行的第一个字符,如下:

$ cut -c 1 content.txtUMOUF

下面显示了 context.txt 文件每一行的第一至七个字符;

$ cut -c 1-7 content.txtUbuntuMicrosoOsX ElUnixFreeBSD

我们再测试一下只指定开始或结束的位置。

下面提取第二个到最后一个字符:

$ cut -c2- content.txtbuntu Linuxicrosoft WindowssX El CapitannixreeBSD

提取第一到第四个字符:

cut -c-4 content.txtUbunMicrOsXUnixFree

如何根据字节提取

使用-b选项通过指定字节的位置来选择一行的某一部分,使用逗号分隔每个指定位置,或用连字符 - 指定一个范围。

下面这个例子提取 content.txt 文件每一行的第一,二,三个字节:

$ cut -b 1,2,3 content.txt UbuMicOsXUniFre

我们也可以用如下命令列出一个范围;

$ cut -b 1-3,5-7 content.txt Ubutu MicosoOsXEl UniFreBSD

一些实用的例子

cut 是一个实用的命令,常常和其他Linux或Unix命令结合使用 。

例如如果你想提取 ps 命令中的 USER,PID和COMMAND:

ps -L u n | tr -s " " | cut -d " " -f 2,3,14-USER PID COMMAND0 676 /sbin/agetty -o -p -- \u --keep-baud 115200,38400,9600 ttyS0 vt2200 681 /sbin/agetty -o -p -- \u --noclear tty1 linux0 23174 -bash0 26737 ps -L u n0 26738 tr -s0 26739 cut -d -f 2,3,14-

再测试一个例子,提取内存的 total,used和free值,并保存到一个文件中。

$ free -m | tr -s ' ' | sed '/^Mem/!d' | cut -d" " -f2-4 >> memory.txt$ cat memory.txt985 86 234

总结

cut 命令可以和很多其他Linux或Unix命令通过管道连接。可以通过管道传递一个或多个过滤器进行额外的文本处理。

cut 命令的局限性之一是它不支持指定多个字符作为分隔符。多个空格会被计算为多个字段分隔符,因此必须在 cut 命令前使用 tr 命令才能获得需要的输出。

以上就是良许教程网为各位朋友分享的Linux cut 命令详解。 以上就是良许教程网为各位朋友分享的Linux相关知识。

攻防实战之Confluence后利用 这边管理员密码是密文加密在数据库中,解不开,因此解决的思路是将管理员用户密码修改为已知明文密码的密文(这边不能直接在数据库中添加字段,关系型数据库在单表中添加一条字段可能会出现问题),登录上后台以后,添加用户并加入管理员组,最后将管理员密码还原。Confluence的后利用主要问题在于在Linux中搭建时,默认是Confluence用户权限,如下图所示,而confluence在linux中是没有写权限的,这也就是为什么有些人发现可以执行命令但是shell写不进去。至此admin的密码被改为了123123。 阅读详情

相关推荐

Python爬取京东商品数据保姆级教程(附源码及效果图)

本文介绍了一个基于Python的京东商品数据爬取教程,适合入门级开发者使用。文章详细讲解了从安装依赖库(DrissionPage、pandas等)到完成数据爬取的全过程,包括:1. 模拟用户搜索操作;2. 解析商品标题、价格、销量等关键信息;3. 处理复杂数据格式(如转换万级销量);4. 数据存储与Excel导出。教程提供了完整的封装函数,支持自定义搜索关键词和爬取数量,并包含错误处理和多种元素定位方式。最终数据会按时间戳命名导出为Excel文件,方便用于课程作业或毕业设计。

weixin_46449236的博客 1874

bash: pcre-config: 未找到命令..._Linux cut 命令详解

cut 命令在Linux和Unix中的作用是从文件中的每一行中截取出一些部分,并输出到标准输出中。我们可以使用 cut 命令从一行字符串中于以字节,字符,字段(分隔符)等单位截取一部分内容出来。在本文中,我们通过一些例子来了解 cut 命令的使用,这些使用方法在我们的日常工作中也是非常常用的。Cut 命令和语法cut 命令的基本语法如下:$ cut OPTION... [FILE]......

weixin_34460480的博客 1028

colmap+openMVS稠密重建

简要记录一下colmap+openMVS稠密重建相关使用。

weixin_41631106的博客 2241

学习C++之STL:常用集合算法set_intersection、set_union、set_difference

算法简介: set_intersection:求两个容器的交集 set_union:求两个容器并集 set_difference:求两个容器的差集 这3个算法均由algorithm头文件提供。 set_intersection 函数原型:set_intersection(iterator beg1,iterator end1,iterator beg2,iterator end2,iterator dest) 作用:将容器1和容器2的交集(既属于容器1又属于容器2的部分)存到目标容器,dest为目标容器的起

星辰大海的博客 807

大连海事大学课设题目/基于LM331的频率电压转换器

部分基于LM331的频压转换的实物连接问题

2301_76649592的博客 3225

华为路由器 VRRP主备配置

3、R3 出口路由器。

一直被模仿,从未被超越 5584

cppcheck卸载linux,linux上的cppcheck安装问题

接下来,当我在测试代码上运行cppcheck时,不会生成错误。sles12-box:/home/test/cppchecker_test/cppcheck-1.77 # cppcheck /home/demo_code/test_code.cChecking /home/demo_code/test_code.c ...的源代码是sles12-box:/home/test/cppchecker_t...

weixin_34653945的博客 437

微软Media Creation Tool 创建工具 1.3 升级:支持全新下载安装Win11 22H2 Build 22621.525

微软 Media Creation Tool 创建工具 1.3 升级:支持全新下载安装 Win11 22H2 Build 22621.525 ISO 镜像,如果今天运行使用 Media Creation Tool,则会下载 Windows 11 2022 版本 Build 22621.525,它不会向操作系统添加任何新内容,但会修复安装问题,下面来看看详细的更新内容。

zym0218的博客 4230

【Linux】cut -d ‘:’ -f 1

关于指令cut -d : -f 1 /etc/passwd,解释如下: 符号 含义 cut 截取字符串 -d 定义分隔符(这里是:) -f 表示需要取哪个字段(这里是1) 应用: 输入如果与/etc/passwd中首字段一致则输出found,否则报错退出. #!/bin/bash # $1表示传给shell的第一个参数 NAME=$1 # 如果传入为空,则报错并退出 if [ "$NAME" == "" ] then echo "usage:prog name" ex

恒治学 5313

【锂离子电池力学耦合及相场法模拟技术与应用】

8. 电化学仿真软件的使用与案例分析 (1) 各向异性纳米线锂化应力分析(实例讲解1) (2) 化学反应及死锂现象研究(案例分析2)(3) 锂化循环损伤计算(案例分析3)6. 4. 电池材料的力学与电化学耦合性能分析(1) 耦合效应对电池性能的影响(2) 耦合模型的验证与应。5. 5. 电池颗粒、极片、电芯尺度力-电-化-热多场耦合模型概述力学-7. 颗粒尺度耦合模型在电池失效分析中的应用。2. 2. 电池电极材料的分类与特性。5. (2) 耦合模型的验证与应用。电化学耦合模型与仿真。

weixin_51101456的博客 520

全网最详细 解决戴维南定理的详细推导

替代定理,戴维南定理详细证明

m0_52555753的博客 3万+

git bash命令_你以为只有马云会灌鸡汤?Linux 命令行也会!

你以为只有马云会灌鸡汤?Linux 命令行也会! “Linux 太南了o(╥﹏╥)o”,“我累了不想奋斗了o(︶︿︶)o”... 不知道你有没有想过,在你快丧失斗志的时候,Linux 还能牛逼得给你来一碗香喷喷的心灵鸡汤?motivate 和 fortune 能够在终端随机显示一些激励性的名句,可谓是两大心灵鸡汤烹饪师。 安装 motivate 在安装 motivate 之前,先看看你的电脑是否装...

weixin_39880328的博客 234

【机器视觉】基于深度学习的托盘PCB识别与计数(有无、正反)

工业机器视觉是指在制造业和工业环境中使用计算机视觉技术来执行检测、测量、识别和控制任务。它结合了硬件(如相机、镜头、光源)与软件(图像处理算法)来自动完成传统上需要人工视觉的任务,从而提高生产效率、产品质量以及工作安全性。工业机器视觉系统通常具有高精度、高速度和高可靠性,能够适应恶劣的工作环境。

专注上位机开发、机器视觉、机器学习、嵌入式软硬件开发 1万+

【Linux篇】cut命令详解

cut命令详解 cut的工作就是“剪”,具体的说就是在文件中负责剪切数据用的。cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段输出。 一、基本语法 cut [选项参数] filename 说明:默认分隔符是制表符。 选项与参数: -d:分隔符,按照指定分隔符分割列。与 -f 一起使用 -f:依据 -d 的分隔字符将一段信息分割成为数段,用 -f 取出第几段的意思(列号,提取第几列) -c:以字符 (characters) 的单位取出固定字符区间 -b:以字节为单位进行分割 二、

weixin_45842494的博客 5万+

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

linux cut命令学习,Linux中的cut 命令详解

今天小编要跟大家分享的文章是关于Linux中的cut 命令详解。cut命令在Linux和Unix中的作用是从文件中的每一行中截取出一些部分,并输出到标准输出中。我们可以使用 cut命令从一行字符串中于以字节,字符,字段(分隔符)等单位截取一部分内容出来。在本文中,我们通过一些例子来了解 cut命令的使用,这些使用方法在我们的日常工作中也是非常常用的。下面来和小编一起看一看吧,希望本篇文章能够对小伙...

weixin_29948389的博客 953

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

linux cut 命令详解

零、前言 cut 的工作就是“剪”,具体的说就是在文件中负责剪切数据用的。 cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段输出。 一、基本语法 cut [选项参数] filename 说明:默认分隔符是制表符。 选项与参数: -d:分隔符,按照指定分隔符分割列。与 -f 一起使用 -f:依据 -d 的分隔字符将一段信息分割成为数段,用 -f 取出第几段的意思(列号,提取第几列) -c:以字符 (characters) 的单位取出固定字符区间 -b:以字节.

布袋和尚 3641

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Linux 之Cut命令详解

Linux 之Cut命令详解 分类: Linux2012-07-05 15:03 1099人阅读 评论(0) 收藏 举报 cut是一个选取命令,就是将一段数据经过分析,取出我们想要的。一般来说,选取信息通常是针对“行”来进行分析的,并不是整篇信息分析的。 (1)其语法格式为: cut  [-bn] [file] 或 cut [-c] [file]  或  cut

jfkidear的专栏 793

Linux下的cut命令详解

Linux下的cut命令详解 定义 正如其名,cut的工作就是“剪”,具体的说就是在文件中负责剪切数据用的。cut是以每一行为一个处理对象的,这种机制和sed是一样的 剪切依据 cut命令主要是接受三个定位方法: 第一,字节(bytes),用选项-b 第二,字符(characters),用选项-c 第三,域(fields),用选项-f 语法格式 cut  [-bn] [file] ...

wyqwilliam的博客 526

Linux下cut命令用法详解

 Linux下cut命令用法详解                                                           原创:frozen_sucker(冰棍)有时我们经常会遇到这样一些问题:有一页电话号码薄,上面按顺序规则地写着人名、家庭住址、电话、备注等,此时我们只想取出所有人的名字和其对应的电话号码,你有几种方法可以实现呢?以下内容欢迎转载,

依然的专栏 6万+

linux cut -b用法,Linux cut 命令详解

cut 命令在Linux和Unix中的作用是从文件中的每一行中截取出一些部分,并输出到标准输出中。我们可以使用 cut 命令从一行字符串中于以字节,字符,字段(分隔符)等单位截取一部分内容出来。在本文中,我们通过一些例子来了解 cut 命令的使用,这些使用方法在我们的日常工作中也是非常常用的。Cut 命令和语法cut 命令的基本语法如下:$ cut OPTION... [FILE]...我们先来了...

weixin_42520374的博客 929

Linux cut命令详解

Linux cut命令详解

朝着梦想 渐行前进 3647

Linux:cut命令详解

cut 文件内容查看 显示行中的指定部分,删除文件中指定字段 显示文件的内容,类似于下的type命令。 说明 该命令有两项功能,其一是用来显示文件的内容,它依次读取由参数file所指明的文件,将它们的内容输出到标准输出上;其二是连接两个或多个文件,如cut fl f2 > f3将把文件fl和几的内容合并起来,然后通过输出重定向符“>”的作用,将它们放入文件f3中。 当文件较大时,文本在屏幕上迅速闪过(滚屏),用户往往看不清所显示的内容。因此,一般用more等命令分屏显示。     为

eli的博客 593
上一篇: Linux重定向用法详解
下一篇: Linux5个基本命令行工具的替代品
码农在线QY
博客等级 码龄6年 11粉丝 161原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值