я могу переместить каждую вторую строку во второй колонке предыдущего ряда по:Перемещение второго столбца каждой строки на новый Следующий Роу
awk '{printf "%s%s",$0,(NR%2?FS:RS)}' file > newfile
Но я не могу сделать это наоборот. То, что у меня есть, как показано ниже:
1 a
2 b
3 c
Мне нужно
1
a
2
b
3
c
Я проверил несколько похожих-столбец строки сдвигая вопросы, но не мог понять мое дело. Благодаря!
Вы знаете AWK достаточно хорошо, чтобы написать 'AWK«{Printf «% s % s ", $ 0, (NR% 2? FS: RS)} 'файл', но не может понять, что нужно написать' awk' {print $ 1 RS $ 2 } 'файл' вместо ??? Я настоятельно рекомендую вам начать читать книгу «Эффективное программирование Awk», 4-е издание, Арнольдом Роббинсом, чтобы вы получили базовое представление о сценариях, которые люди пишут для вас. –
Я полностью согласен с вами: D like could not agree more! И я уже купил книгу о sed & awk, в моем списке дел среди множества других вещей. Но я не просил сценарий выше, я нашел его в другом посте. Cheers – DragonRider
Бросьте любую книгу, которую вы имеете о sed & awk, так как вам НЕ нужна книга, чтобы изучить единственные конструкции, которые вы должны использовать в sed, s, g и p (с -n), а часть awk этой книги будет отсутствовать от даты и до неполного. Единственная книга, которую каждый должен изучать awk, - это тот, о котором я упоминал. –