Using awk to print all columns from the nth to the last
There's a duplicate question with a simpler answer using cut:
svn status | grep '\!' | cut -d\ -f2-
-d
specifies the delimeter (space), -f
specifies the list of columns (all starting with the 2nd)
Print all columns:
awk '{print $0}' somefile
Print all but the first column:
awk '{$1=""; print $0}' somefile
Print all but the first two columns:
awk '{$1=$2=""; print $0}' somefile
You could use a for-loop to loop through printing fields $2 through $NF (built-in variable that represents the number of fields on the line).
Edit: Since "print" appends a newline, you'll want to buffer the results:
awk '{out=""; for(i=2;i<=NF;i++){out=out" "$i}; print out}'
Alternatively, use printf:
awk '{for(i=2;i<=NF;i++){printf "%s ", $i}; printf "\n"}'