Эта строка работала, пока у меня не было пробела во втором поле.
svn status | grep '\!' | gawk '{print $2;}' > removedProjs
существует ли способ иметь печать awk все в 2$ или больше? (3$, 4$, пока у нас больше нет столбцов?)
Я предполагаю, что должен добавить, что я делаю это в среде Windows с Cygwin.
напечатает все, кроме самого первого столбца:
awk '{$1=""; print $0}' somefile
напечатает все, кроме двух первых столбцов:
awk '{$1=$2=""; print $0}' somefile
Будет ли это работать?
awk '{print substr($0,length($1)+1);}' < file
Однако перед ним остаются пробелы.
Вы могли бы использовать цикл 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"}'