Intereting Posts
Что такое «решение о маршрутизации» в контексте iptables? Почему pam_exec.so работает с sudo, а не с su? Очень медленный ответ от localhost при пинге grep определенное количество слов после матча строковые манипуляции без awk или sed ./configure: показать все отсутствующие пакеты одновременно Считается ли синтаксис подстановки команд $ () оператором или командой? Есть ли способ ввести пароль с экранной клавиатурой, чтобы разблокировать криптографическое устройство LUKS во время загрузки? Невозможно вызвать команду watch с нецелым параметром времени Сценарий для переименования файлов с использованием текстового файла, содержащего альтернативные имена файлов Где пакеты Wine для BOSS Linux? Существуют ли сценарии дедупликации, использующие btrfs CoW в качестве дедупликации? Хорошо ли использовать ~ 100% процессор по моему приложению Печать переменной в одиночной кавычки в bash | Странные переменные Устройство USB 2.0 не работает в портах USB 3.0

gawk: Как я могу печатать выходные данные с помощью команды gawk в нескольких строках на терминале в одной строке в файле

Я использую команду gawk для печати содержимого столбца в файле, например:

gawk '{print $2205764, $2205763}' /home/mohasin/fil1.txt 

Он генерирует вывод на терминале с новой строкой:

 aa bb cc dd . . . . 

Я хочу, чтобы этот вывод находился в одной строке в файле, как я могу это сделать?

 aabbccd d...... 

Установите разделитель выходной записи ( ORS ) в пространство. По умолчанию это новая строка.

Вы можете сделать это в блоке BEGIN :

 awk 'BEGIN { ORS = " " } { print }' inputfile 

Или, что то же самое, вы можете сделать это как аргумент командной строки для awk :

 awk -v ORS=" " '{ print }' inputfile 

Любой из них присоединится ко всем строкам inputfile в одну строку. (Будет конечное пространство.)

Используйте команду tr чтобы превратить ваши строки в пробелы.

 gawk '{print $2205764, $2205763}' /home/mohasin/fil1.txt | tr '\n' ' ' > file.txt