Я пытаюсь нарезать строку на несколько строк с помощью awk. После каждых двух слов.Вырезать строку в несколько строк с помощью awk
Вход:
hey there this is a test
Выход:
hey there
this is
a test
Я могу добиться этого с помощью xargs, следующим образом:
echo hey there this is a test |xargs -n2
hey there
this is
a test
Однако мне интересно знать, как для того чтобы достигнуть это использование awk. Вот команда, которую я использую, что, конечно же, не дало ожидаемого результата.
echo hey there this is a test | awk '{ for(i=1;i<=NF;i++) if(i%2=="0") ORS="\n" ;else ORS=" "}1'
hey there this is a test
И
echo hey there this is a test | awk '{$1=$1; for(i=1;i<=NF;i++) if(i%2==0) ORS="\n" ;else ORS=" "}{ print $0}'
hey there this is a test
Нужно знать, что концептуально неправильно в команде выше AWK и как он может быть изменен, чтобы дать правильный вывод. Предположим, что вход имеет одну линию.
Спасибо и с уважением.
++ Отлично, это сработало. Понял, какую ошибку я делал. Благодарю. –