Linux 中的 Cut 命令示例
通过“剪切”命令,您可以提取文件的一部分进行打印,而不会影响原始文件。在这里了解更多。
cut 命令用于剪切文件的特定部分并将其打印到标准输出而不更改实际文件。
换句话说,您可以使用 cut 命令从文件中提取特定数量的单词或字符。
不用担心,我将引导您了解要点,以帮助您了解更多信息:
命令的基本语法
使用cut命令的实际例子
剪切命令的练习题
那么,让我们开始吧。
这是如何使用剪切命令
要使用 cut 命令,了解语法很重要。
以下是使用 cut 命令需要遵循的基本语法:
cut [option] <Filename or path to file>
这里,
[option]
:用于更改 cut 命令的默认行为。文件名
:这是您附加文件名或文件路径以使用剪切命令的位置。
如果您好奇,这里列出了与 cut 命令一起使用的常用选项:
-d
设置字段分隔符(默认为制表符)。
-f
指定要提取的字段(例如,
-f 2
表示第二个字段)。-b
剪切特定字节或字节范围。
-c
剪切特定字符或字符范围。
-s
仅打印包含分隔符的行(默认打印空行)。
--complement
剪切除指定字节、字符或字段之外的所有内容。
为了使本教程易于理解,我将在所有示例中使用一个名为 Haruki.txt
的文本文件,其中包含以下内容:
Book_Name Year
Hear the Wind Sing (A Wild Sheep Chase) (1973)
Pinball, (1973)
Norwegian Wood (1987)
A Walk to the Bakery (1982)
Hard-Boiled Wonderland and the End of the World (1985)
The Wind-Up Bird Chronicle (1994-1995)
Sputnik Sweetheart (1999)
Kafka on the Shore (2002)
After Dark (2004)
1Q84 (2009-2010)
Colorless Tsukuru Tazaki and His Years of Pilgrimage (2013)
Killing Commendatore (2017)
First Person Singular (2020)
现在,让我们看一下在 Linux 中使用 cut 命令的一些示例。
1. 按字节切割
使用 cut 命令剪切字符的最简单方法是指定文本在内存中占用的空间字节并剪切文件中所需的部分。
要按字节剪切,可以使用 -b
标志,然后根据索引指定位置:
cut -b <nth byte> Filename
例如,如果我想剪切第五个字符,则使用以下命令:
cut -b 5 Haruki.txt
简单来说,就是使用字节作为索引号。假设您想要剪切第七个字符,然后指定 7
以及 -b
标志。
从每行中剪切多个字符
您可以使用 -b
标志从每行剪切多个字符,在其中指定用逗号分隔的多个字节。
例如,如果我想从每行中剪切第三个、第六个和第七个字符,那么我将使用以下命令:
cut -b 3,6,7 Haruki.txt
剪切一定范围的字符
通过cut命令,还可以指定需要剪切的字符范围。
例如,如果我想从第三个字符剪切到第七个字符,那么我将使用以下内容:
cut -b 3-7 Haruki.txt
剪切除特定字节之外的所有内容
您可以使用 --complement
标志来剪切所有内容,但不能剪切特定字节,这样您就可以忽略指定字节并打印其他所有内容。
要使用 --complement
标志,您必须遵循给定的语法:
cut -b <bytes> --complement Filename
假设我想忽略前五个字节,那么我将使用以下内容:
cut -b 1-5 --complement Haruki.txt
指定要切割的起点或终点
使用剪切命令,您还可以指定要开始剪切字符的起点或停止的终点。
要指定起始点,请使用 n-
,其中 n
是从要开始截断字符的位置到行尾的数字:
cut -b n- Filename
例如,如果我想从第五个字符剪切到行尾,那么我将使用以下内容:
cut -b 5- Haruki.txt
要指定端点,请使用 -n
(注意 n 之前的破折号),其中 n
是指示要剪切的边界线的最后一个字符:
cut -b -n Filename
例如,如果我想剪切到第七个字符,我将使用以下内容:
cut -b -7 Haruki.txt
建议阅读?
2、按人物剪辑
这与字节选项完全相同,但在这里,它使用字符索引而不是字节索引,这很有帮助,特别是在单个字符使用多个字节的情况下。
例如,如果我想剪切前五个字符,那么我将按以下方式使用 -c
标志:
cut -c 5 Haruki.txt
您还可以使用 -c
标志指定字符的范围。假设我想从第七个字符剪切到第十个字符,那么我将使用以下内容:
cut -c 7-10 Haruki.txt
此外,您还可以通过指定起点和终点来进行剪切,正如我之前解释的那样。以下是我使用 -c
标志剪切到第 10 个字符的方法:
cut -c -10 Haruki.txt
您还可以使用 --complement
标志指定要忽略的字符并打印其他所有内容。
例如,在这里,我打印了所有内容,忽略了第 10 到 15 个字符:
3. 田间砍伐
默认情况下,当你想按字段剪切时,它将使用制表符空格作为分隔符。当然,您可以使用不同的分隔符,我也会提到。
要按字段剪切,请使用 -f
标志,如下所示:
cut -f <number of fields> Filename
例如,如果我想剪切 1 个字段,那么我将使用以下内容:
cut -f 1 Haruki.txt
要更改分隔符,您必须使用 -d
标志,后跟您要使用的分隔符:
cut -d "delimiter" -f <number of fields> Filename
例如,在这里,我使用 a
作为字符,因此它将打印直到字符 a
出现在该行中:
cut -d "a" -f 1 Haruki.txt
4. 使用分隔符连接输出
当您使用分隔符时,它会在不使用分隔符的情况下连接输出,因此最终会得到由空格分隔的输出。
您可以使用 --output-delimite
标志更改此行为。
要使用 --output-delimite
标志,请使用以下语法:
cut <options for cutting file> --output-delimite=delimiter Filename
例如,在这里,我使用 -c
标志来剪切文件的不同部分,然后使用 --output-delimite
标志将输出与 连接起来@
:
cut -c 1-5,9,11-14 --output-delimiter=@ Haruki.txt
你看到了吗?首先,我使用 -c
标志打印 1 到 5、然后是第 9、11 到 14 个字符,然后将整个输出与 @
合并。
练习题?️
在本节中,我将分享一些练习问题,您可以使用它们来更好地使用 cut 命令:
通过将 cut 命令的输出重定向到文件来保存它。
如何使用 cut 命令打印文件的前 5 个字符?
打印所有内容,忽略以下字符范围:2-6、10、12-15。
使用
e
作为分隔符,将文件分为两部分。
包起来
本教程介绍了使用 cut 命令的基础知识,包括语法、实际示例和练习题。您可以在我们的 Linux 手册博客文章中探索更多示例:
如果您刚刚开始,您可能需要参考我们的 Linux 初学者命令指南: