zaLinux.ru

Как вывести от определённого столбца до последнего в командной строке Linux


В этой заметке рассмотрим, как вывести с определённого столбца до последнего. Например:

  • как вывести со второго столбца до последнего
  • как вывести с третьего столбца до последнего
  • как вывести с четвёртого столбца до последнего
  • как вывести с n-го столбца до последнего
  • как вывести последний столбец

Чтобы вывести с определённой колонки до самой последней наиболее удобна команда cut. Если по каким-либо причинами вы предпочитаете команду awk, то здесь будут показаны примера вывода с определённого столбца до последнего с помощью команды awk.

cut

Как вывести с n-го столбца до последнего:

Используйте следующую команду, в которой «N» замените на номер колонки, с которой необходимо начать вывод:

cut -fN- -d' '

Как вывести со второго столбца до последнего:

cut -f2- -d' '

Пример:

echo 'vddp vddpi vss cb0 cb1 cb2 cb3 ct0 ct1 ct2 ct3' | cut -f2- -d' '

Как вывести с третьего столбца до последнего:

cut -f3- -d' '

Пример:

echo 'vddp vddpi vss cb0 cb1 cb2 cb3 ct0 ct1 ct2 ct3' | cut -f3- -d' '

Как вывести с четвёртого столбца до последнего:

cut -f4- -d' '

Пример:

echo 'vddp vddpi vss cb0 cb1 cb2 cb3 ct0 ct1 ct2 ct3' | cut -f4- -d' '

awk

Как вывести с n-го столбца до последнего:

В awk вы можете использовать конструкцию вида:

awk '{$1=$2=$3="";print $0}'

Этот пример очистит содержимое первых трёх столбцов и покажет все колонки, начиная с четвёртого столбца.

Но при этом пробелы, который находятся между первым и вторым столбцом, вторым и третьим столбцом, а также третьим и четвёртым столбцом удалены не будут и будут показаны. Чтобы их удалить используйте дополнительно команду sed:


awk '{$1=$2=$3="";print $0}' | sed -r "s/^\s+//g"

Либо вы можете использовать следующую команду awk которая очищает пробелы между удалёнными стобцами:

awk '{$1=$2=$3=""; $0=$0; $1=$1; print}'

Смотрите также: Уроки по Awk

Как вывести со второго столбца до последнего:

awk '{$1="";print $0}' | sed -r "s/^\s+//g"
awk '{$1=""; $0=$0; $1=$1; print}'

Примеры:

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}'

Как вывести с третьего столбца до последнего:


awk '{$1=$2="";print $0}' | sed -r "s/^\s+//g"
awk '{$1=$2=""; $0=$0; $1=$1; print}'

Примеры:

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}'

Как вывести с четвёртого столбца до последнего:

awk '{$1=$2=$3="";print $0}' | sed -r "s/^\s+//g"
awk '{$1=$2=$3=""; $0=$0; $1=$1; print}'

Примеры:

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}'

Как вывести последний столбец

Для вывода последнего столбца с помощью awk используйте команду:

awk '{print $NF}'

Например:

echo 'vddp vddpi vss cb0 cb1 cb2 cb3 ct0 ct1 ct2 ct3' | awk '{print $NF}'

Смотрите также: Уроки по Awk

Если вы хотите обойтись без awk, то используйте следующий набор команд:

rev | cut -d' ' -f1 | rev

Например:

echo 'vddp vddpi vss cb0 cb1 cb2 cb3 ct0 ct1 ct2 ct3' | rev | cut -d' ' -f1 | rev

Рекомендуемые статьи:

Оставить комментарий

Ваш адрес email не будет опубликован.