Используя awk для печати всех столбцов от энного до последнего

Эта строка работала, пока у меня не было пробела во втором поле.

svn status | grep '\!' | gawk '{print $2;}' > removedProjs

существует ли способ иметь печать awk все в 2$ или больше? (3$, 4$, пока у нас больше нет столбцов?)

Я предполагаю, что должен добавить, что я делаю это в среде Windows с Cygwin.

283
задан FcknGioconda 18 July 2018 в 20:01
поделиться

3 ответа

напечатает все, кроме самого первого столбца:

awk '{$1=""; print $0}' somefile

напечатает все, кроме двух первых столбцов:

awk '{$1=$2=""; print $0}' somefile
445
ответ дан 23 November 2019 в 01:53
поделиться

Будет ли это работать?

awk '{print substr($0,length($1)+1);}' < file

Однако перед ним остаются пробелы.

5
ответ дан 23 November 2019 в 01:53
поделиться

Вы могли бы использовать цикл for-loop для перебора полей печати с $2 по $NF (встроенная переменная, представляющая количество полей в строке).

Редактировать: Поскольку "print" добавляет новую строку, вы захотите буферизировать результаты:

awk '{out=""; for(i=2;i<=NF;i++){out=out" "$i}; print out}'

В качестве альтернативы используйте printf:

awk '{for(i=2;i<=NF;i++){printf "%s ", $i}; printf "\n"}'
80
ответ дан 23 November 2019 в 01:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: