Linux cut command examples

29/12/2020
Chưa phân loại
Linux `cut` command is one of the useful commands to work with string data and file content. It is mainly used for cutting content from tabular data or CSV file. Each line of the file can be sliced and the required data can be retrieved easily by using `cut` command. It can also be used to cut text by delimiter or character or byte position. This command has many options to cut data from the text or file in different ways. How cut command can be used with different options is shown in this tutorial by using various examples.

Syntax:

cut OPTION… [FILE]

OPTION value is mandatory to use for `cut` command and FILE name is optional. If you omit the file name in the command then it will take data from standard input. But if you omit the OPTION value in cut command then it will generate the error.

Options:

Option tag Description
-b or –byte=LIST Select the particular bytes.
-c or –character=LIST Select the particular characters.
-d or –delimiter=DELIM Select DELIM value as delimiter. By default delimiter is TAB.
-f or –fields=LIST Select the particular fields
–complement Use to complement the output
-s or –only-delimited Omit the lines that don’t contain delimiter.
–output-delimiter=STRING Use STRING value as output delimiter.
-z or –zero-terminated Use NULL as line delimiter.

Example-1: Cut by bytes

The following cut command will slice the standard input data based on the defined bytes. Here, 3,4,5 and 6 are defined as bytes. The output will generate based on the standard input. Press CTRL+D to exit from the command.

$ cut -b 3,4,5,6

Output:

Here, input is “I like programming” and the output is “like” based on the bytes mentioned.

Create a text file named “productlist.txt” with the following content for applying the `cut` command. Use TAB to separate the fields of the file content.

ID   Name     Price
01   Pen       $2
02   Pencil    $1.5
03   Eraser    $1

Run the following command to retrieve only the product ID. Here, bytes are given as a range, ‘1-2′ to cut the data.

$ cut -b 12 < productlist.txt

Output:

Example-2: Cut by characters

You can generate the same output by using -c option, those are shown in the previous examples. So, there is no particular difference between the output of -b and -c options of the cut command. Run the following command to show the use of -c option. Here, 4- is used as an option value that will cut from position 4 to all the remaining characters of each line. You can also use the negative sign in front of the value like -4, then it will cut from the beginning to 4 positions.

$ cut -c 4– productlist.txt

Output:

First three characters are omitted in the output.

Example-3:  Cut by delimiter and fields

Create a CSV file named ‘students.csv’ with the following content to show the use of delimiter.

1001,Jonathan,CSE,3.74
1002,Micheal,EEE,3.99
1003,Asraful Haque,BBA,3.85
1004,Momotaj Khan,English,3.20

Run the following command to print the student’s name and CGPA from the students.csv file. According to the file content, the 2nd and the 4th fields contain the student name and CGPA. So, two options are used in this command to show the output. One is the delimiter, -d, which is ‘,’ here and another is fielding option, -f.

$ cut -d  ‘,’ -f 2,4 students.csv

Output:

If you want to print two or more sequential columns of any tabular data or CSV file then you can define the fields as a range. The range of field value is used in the following command. Here, all the fields from 2 to 4 will print as output.

$ cut -d  ‘,’ -f 24 students.csv

Output:

Example-4:  Cut by complement

–complement option is used to generate the opposite output of the command. In the following command, the productlist.txt file is used which is created at the first example.  Here, -f option will cut the 1st field and –-complement option will print the other all fields of the file by omitting the 1st  field.

$ cat productlist.txt
$ cut –complement -f 1 productlist.txt

Output:

Example-5:  Cut by output-delimiter

This option is used to generate output by using a particular delimiter. The previously created students.csv file is used in the following command. ‘,’ is the default delimiter of any CSV file. The following command uses ‘:’ as output delimiter value.

$ cat students.csv
$ cut -d "," -f 13 students.csv –output-delimiter=":"

Output:

After executing the command, input delimiter ‘,’ will be replaced by the output delimiter ‘:’ and the first three fields will be printed by separating ‘:’.

Example-6: Using cut with pipe command

Cut command can take input from any file or from the user input. But input text can be sent to cut command by using the pipe. The following command shows the use of cut command with the pipe. Here, echo command will the input text to cut command and cut command will cut the fields 2 and 3 based on the delimiter.

$ echo "Testing cut command" | cut -d " " -f 2,3

Output:

Example-7: Save cut command output to a file

If you want you can also save the cut command output into any text file. The following command will take the content of the students.csv file as input, cut the 2nd field based on the delimiter and print the output in a text file named ‘student_names.txt’.

$ cat students.csv
$ cat students.csv | cut -d cat students.csv | cut -d "," -f 2 > student_name.txt“,”
f 2 > student_name.txt
$ cat student_names.txt

Output:

Conclusion:

Most common uses of cut command are tried to explain in this tutorial by using the above examples. Hope, the uses of cut command will be cleared of the readers after exercising the above examples.

ONET IDC thành lập vào năm 2012, là công ty chuyên nghiệp tại Việt Nam trong lĩnh vực cung cấp dịch vụ Hosting, VPS, máy chủ vật lý, dịch vụ Firewall Anti DDoS, SSL… Với 10 năm xây dựng và phát triển, ứng dụng nhiều công nghệ hiện đại, ONET IDC đã giúp hàng ngàn khách hàng tin tưởng lựa chọn, mang lại sự ổn định tuyệt đối cho website của khách hàng để thúc đẩy việc kinh doanh đạt được hiệu quả và thành công.
Bài viết liên quan

Docker Compose Tutorial

Docker’s popularity as a development tool is on the rise. Docker has breathed new life into the container movement. Developers...
28/12/2020

Performing a Cross-Site Request Forgery Attack

A CSRF attack is the one that makes authenticated users perform unwanted actions in the web application they are authenticated...
29/12/2020

Ubuntu MacOS Theme

The Mac OS interface can be replicated on Ubuntu, the terminal style, the icons and a whole lot more.So a little rundown...
28/12/2020
Bài Viết

Bài Viết Mới Cập Nhật

SỰ KHÁC BIỆT GIỮA RESIDENTIAL PROXY VÀ PROXY DATACENTER
17/02/2024

Mua Proxy v6 US Private chạy PRE, Face, Insta, Gmail
07/01/2024

Mua shadowsocks và hướng dẫn sữ dụng trên window
05/01/2024

Tại sao Proxy Socks lại được ưa chuộng hơn Proxy HTTP?
04/01/2024

Mua thuê proxy v4 nuôi zalo chất lượng cao, kinh nghiệm tránh quét tài khoản zalo
02/01/2024