Улучшение трюка $1=$2=$3=""
, которое работает с любымFS
или OFS
, при условии, что нормализация выходной строки к $4 OFS $5 OFS...
допустима:
awk 'BEGIN{p=length(OFS)*3+1} {$1=$2=$3="";print substr($0,p)}'
Присвоение значения любому полю (например.$1=""
или$1=$1
)приведет к$0
(перестроению всей записи/строки )(при первом использовании )путем объединения полей $1
, $2
,... с переменной OFS
.
Таким образом, $1 = $2 = $3 = ""
приведет к установке $0
на OFS OFS OFS $4 OFS $5...
, а substr
избавится от ведущих OFS
s (уведомления о том, что индексы начинаются с 1 вawk
).