Да, он не будет печататься, поскольку вы не написали его правильно.Ниже приведены 2 способа упоминания OFS
в любой программе awk
.
1-й способ: при использовании -v OFS="|"
укажите его как переменную.
awk -F"," -v OFS="|" '{print $1,$2}' filename
2-й способ: используйтеBEGIN
раздел awk
для упоминания этого (что тоже рекомендуется).
awk 'BEGIN{FS=",";OFS="|"}{print $1,$2}' filename
3-й способ: согласно комментарию ghoti добавим еще 1 способ присвоения значения для OFS
здесь.Мы могли бы назначить его, прежде чем упоминать имена файлов Input_file, выполнив это, мы могли бы установить различные значения OFS
для различных файлов Input_file (поскольку awk
может читать несколько файлов Input_file, что может помочь в подобных ситуациях).Например ->
awk '{print $1,$2}' FS="," OFS="|" Input_file1 FS=":" OFS=";" Input_file2
В приведенной выше команде для Input_file1 FS
указано ,
, а OFS
равно |
, для Input_file2 FS
равно :
и OFS
равно ;
.Спасибо ghoti, сэр, за упоминание об этом в комментариях:)