In the Linux command line, it is often necessary to intercept and split text content. The Cut command is one of the very practical tools. It can extract data from lines, characters, and fields of text and output the results to the standard output device. In today's tutorial, we will introduce the use of the Cut command in detail through some examples.
cut command options
Cut basic syntax:
cut OPTION... [FILE]...
Options:
How to split
The most commonly used option for cut is the combination of -d and -f. It basically extracts content based on specific delimiters and listed fields.
The code below uses only delimiters: prints the first field of each line in the /etc/passwd file.
[root@localhost ~]# cut -d ':' -f 1 /etc/passwd root bin daemon adm lp sync shutdown …
The following code extracts the first and sixth fields from the /etc/passwd file:
[root@localhost ~]# grep '/bin/bash' /etc/passwd| cut -d ':' -f 1,6 root:/root bob:/home/bob user01:/home/user01
To display a range of fields, specify the start field and end field separated by -, as follows:
[root@localhost ~]# grep '/bin/bash' /etc/passwd|cut -d ':' -f 1-4,6,7 root:x:0:0:/root:/bin/bash bob:x:1000:1001:/home/bob:/bin/bash user01:x:1001:1002:/home/user01:/bin/bash
Exclude specified fields
In the following code, print all fields except the second field in the /etc/passwd file:
[root@localhost ~]# grep '/bin/bash' /etc/passwd|cut -d ':' --complement -f 2 root:0:0:root:/root:/bin/bash bob:1000:1001::/home/bob:/bin/bash user01:1001:1002::/home/user01:/bin/bash
How to specify a delimiter for output content
To specify the output delimiter, use the --output-delimiter option. The input delimiter is specified by the -d option, and by default the output delimiter is the same as the input delimiter.
Let’s first take a look at what it looks like without using the –output-delimiter option:
[root@localhost ~]# cut -d ':' -f1,7 /etc/passwd|sort adm:/sbin/nologin avahi:/sbin/nologin bin:/sbin/nologin bob:/bin/bash chrony:/sbin/nologin daemon:/sbin/nologin dbus:/sbin/nologin ftp:/sbin/nologin games:/sbin/nologin grafana:/sbin/nologin halt:/sbin/halt lp:/sbin/nologin mail:/sbin/nologin nfsnobody:/sbin/nologin nobody:/sbin/nologin ntp:/sbin/nologin operator:/sbin/nologin …
Now use the --output-delimiter option, and the output delimiter is separated by ' ' spaces. Take a look at what it looks like:
[root@localhost ~]# cut -d ':' -f1,7 --output-delimiter=' ' /etc/passwd|sort adm /sbin/nologin avahi /sbin/nologin bin /sbin/nologin bob /bin/bash chrony /sbin/nologin daemon /sbin/nologin dbus /sbin/nologin ftp /sbin/nologin games /sbin/nologin grafana /sbin/nologin halt /sbin/halt lp /sbin/nologin mail /sbin/nologin nfsnobody /sbin/nologin nobody /sbin/nologin ntp /sbin/nologin operator /sbin/nologin
In short, the Cut command is a very important command in Linux and can easily process text files. Through the introduction of this article, I believe that everyone has mastered the basic usage and common skills of the Cut command, and can flexibly apply it to various situations. I hope everyone can deepen their understanding of the Cut command and improve work efficiency.
The above is the detailed content of Linux command line trick: detailed explanation of Cut command to process text easily!. For more information, please follow other related articles on the PHP Chinese website!