
How to print from specific column to last in Linux command line
July 9, 2022
In this note, we will consider how to display from a specific column to the last one. For example:
- how to output from second column to last
- how to display from third column to last
- how to display from the fourth column to the last
- how to output from nth column to last
- how to display the last column
To display from a certain column to the very last, the “cut” command is most convenient. If for some reason you prefer the “awk” command, then here will be shown examples of output from a specific column to the last using the awk command.
cut
How to output from the nth column to the last one:
Use the following command, in which “N” is replaced by the number of the column from which you want to start the output:
cut -fN- -d' '
How to output from the second column to the last:
cut -f2- -d' '
Example:
echo 'vddp vddpi vss cb0 cb1 cb2 cb3 ct0 ct1 ct2 ct3' | cut -f2- -d' '
How to output from the third column to the last:
cut -f3- -d' '
Example:
echo 'vddp vddpi vss cb0 cb1 cb2 cb3 ct0 ct1 ct2 ct3' | cut -f3- -d' '
How to display from the fourth column to the last:
cut -f4- -d' '
Example:
echo 'vddp vddpi vss cb0 cb1 cb2 cb3 ct0 ct1 ct2 ct3' | cut -f4- -d' '
awk
How to output from the nth column to the last one:
In awk you can use a construct like:
awk '{$1=$2=$3="";print $0}'
This example will clear the contents of the first three columns and show all columns starting from the fourth column.
But at the same time, the spaces that are between the first and second columns, the second and third columns, as well as the third and fourth columns will not be removed and will be shown. To remove them, additionally use the “sed” command:
awk '{$1=$2=$3="";print $0}' | sed -r "s/^\s+//g"
Or you can use the following awk command to clean up spaces between deleted columns:
awk '{$1=$2=$3=""; $0=$0; $1=$1; print}'
How to output from the second column to the last:
awk '{$1="";print $0}' | sed -r "s/^\s+//g" awk '{$1=""; $0=$0; $1=$1; print}'
Examples:
echo 'vddp vddpi vss cb0 cb1 cb2 cb3 ct0 ct1 ct2 ct3' | awk '{$1="";print $0}' | sed -r "s/^\s+//g" echo 'vddp vddpi vss cb0 cb1 cb2 cb3 ct0 ct1 ct2 ct3' | awk '{$1=""; $0=$0; $1=$1; print}'
How to output from the third column to the last:
awk '{$1=$2="";print $0}' | sed -r "s/^\s+//g" awk '{$1=$2=""; $0=$0; $1=$1; print}'
Examples:
echo 'vddp vddpi vss cb0 cb1 cb2 cb3 ct0 ct1 ct2 ct3' | awk '{$1=$2="";print $0}' | sed -r "s/^\s+//g" echo 'vddp vddpi vss cb0 cb1 cb2 cb3 ct0 ct1 ct2 ct3' | awk '{$1=$2=""; $0=$0; $1=$1; print}'
How to display from the fourth column to the last:
awk '{$1=$2=$3="";print $0}' | sed -r "s/^\s+//g" awk '{$1=$2=$3=""; $0=$0; $1=$1; print}'
Examples:
echo 'vddp vddpi vss cb0 cb1 cb2 cb3 ct0 ct1 ct2 ct3' | awk '{$1=$2=$3="";print $0}' | sed -r "s/^\s+//g" echo 'vddp vddpi vss cb0 cb1 cb2 cb3 ct0 ct1 ct2 ct3' | awk '{$1=$2=$3=""; $0=$0; $1=$1; print}'
How to display the last column
To display the last column with awk, use the command:
awk '{print $NF}'
For example:
echo 'vddp vddpi vss cb0 cb1 cb2 cb3 ct0 ct1 ct2 ct3' | awk '{print $NF}'
If you want to do without awk, then use the following set of commands:
rev | cut -d' ' -f1 | rev
For example:
echo 'vddp vddpi vss cb0 cb1 cb2 cb3 ct0 ct1 ct2 ct3' | rev | cut -d' ' -f1 | rev
Related articles:
- How to remove newline from command output and files on Linux command line (100%)
- awk and tabs in input and output (88.2%)
- How to convert a string to uppercase in Bash (80.3%)
- How to convert a string to lowercase in Bash (80.3%)
- How to remove the first line from a file on the command line. How to remove the first 2, 3 or any other number of lines from a file (80.3%)
- Password and unix_socket authentication in MySQL and MariaDB. Error “#1698 - Access denied for user ‘root’@’localhost’” (SOLVED) (RANDOM - 50%)