Linux cut 命令示例
Linux `cut` 命令是处理字符串数据和文件内容的有用命令之一。它主要用于从表格数据或CSV文件中剪切内容。文件的每一行都可以被切片,并且可以使用“cut”命令轻松检索所需的数据。它还可用于按分隔符、字符或字节位置剪切文本。该命令有许多选项可以以不同的方式从文本或文件中剪切数据。本教程通过各种示例展示了如何将 cut 命令与不同选项一起使用。
语法:
“cut”命令必须使用 OPTION 值,文件名是可选的。如果在命令中省略文件名,那么它将从标准输入获取数据。但是,如果您在 cut 命令中省略 OPTION 值,则会生成错误。
选项:
- -b or –byte=LIST
选择特定字节。
- -c or –character=LIST
选择特定字符。
- -d or –delimiter=DELIM
选择 DELIM 值作为分隔符。默认分隔符是 TAB。
- -f or –fields=LIST
选择特定字段
- –complement
用于补充输出
- -s or –only-delimited
省略不包含分隔符的行。
- –output-delimiter=STRING
使用 STRING 值作为输出分隔符。
- -z or –zero-terminated
使用 NULL 作为行分隔符。
示例1:按字节切割
以下 cut 命令将根据定义的字节对标准输入数据进行切片。这里,3、4、5和6被定义为字节。输出将根据标准输入生成。按 CTRL+D 退出命令。
输出:
在这里,输入是“我喜欢编程”,输出是基于提到的字节“喜欢”。
创建一个名为“productlist.txt”的文本文件,其中包含以下内容以应用“cut”命令。使用TAB分隔文件内容的字段。
01 Pen $2
02 Pencil $1.5
03 Eraser $1
运行以下命令以仅检索产品 ID。这里,字节以范围“1-2”给出来切割数据。
输出:
示例2:按字符剪切
您可以使用 -c 选项生成相同的输出,如前面的示例所示。因此,cut 命令的 -b 和 -c 选项的输出之间没有特别的区别。运行以下命令来显示 -c 选项的使用。这里,4- 用作选项值,将从位置 4 剪切到每行的所有剩余字符。你也可以在值前面使用负号,例如-4,那么它会从开始到4个位置。
输出:
输出中省略前三个字符。
示例 3:按分隔符和字段进行剪切
创建一个名为“students.csv” 的 CSV 文件,其中包含以下内容以显示分隔符的使用。
1002,Micheal,EEE,3.99
1003,Asraful Haque,BBA,3.85
1004,Momotaj Khan,English,3.20
运行以下命令从 students.csv 文件中打印学生的姓名和 CGPA。根据文件内容,第2nd和第4th字段包含学生姓名和CGPA。因此,此命令中使用两个选项来显示输出。一个是分隔符 -d,这里是“,”,另一个是字段选项 -f。
输出:
如果要打印任何表格数据或 CSV 文件的两个或多个连续列,则可以将字段定义为范围。字段值的范围在以下命令中使用。此处,从 2 到 4 的所有字段都将打印为输出。
输出:
示例 4:按补码剪切
–complement 选项用于生成命令的相反输出。在以下命令中,使用在第一个示例中创建的productlist.txt 文件。此处,-f 选项将剪切第一个st 字段,而 --complement 选项将通过省略第一个st 字段来打印文件的其他所有字段。
$ cut --complement -f 1 productlist.txt
输出:
示例 5:按输出分隔符剪切
此选项用于通过使用特定分隔符生成输出。之前创建的 students.csv 文件将在以下命令中使用。 “,”是任何 CSV 文件的默认分隔符。以下命令使用‘:’作为输出分隔符值。
$ cut -d "," -f 1-3 students.csv --output-delimiter=":"
输出:
执行该命令后,输入分隔符“,”将被输出分隔符“:”替换,并且前三个字段将通过“:”分隔来打印。
示例 6:通过管道命令使用 cut
Cut 命令可以从任何文件或用户输入中获取输入。但输入文本可以使用管道发送到 cut 命令。以下命令显示了 cut 命令与管道的用法。这里,echo 命令将输入文本传递给 cut 命令,而 cut 命令将根据分隔符剪切字段 2 和 3。
输出:
示例 7:将剪切命令输出保存到文件
如果需要,您还可以将 cut 命令输出保存到任何文本文件中。以下命令将采用 Students.csv 文件的内容作为输入,根据分隔符剪切第二个nd 字段,并将输出打印到名为“student_names.txt ”的文本文件中'。
$ cat students.csv | cut -d cat students.csv | cut -d "," -f 2 > student_name.txt“,”
f 2 > student_name.txt
$ cat student_names.txt
输出:
结论:
本教程尝试使用上述示例来解释 cut 命令的最常见用法。希望读者在练习完上述示例后能够清楚 cut 命令的用法。