awk не делает новую строку

Я пытаюсь распечатать пользователей, которые в настоящее время вошли в систему (каждый зарегистрированный пользователь каждого терминала). Это то, что я сейчас имею:

NOWDATE=$(date +"%Y-%m-%d") NOWTIME=$(date +"%T") USERS=$(who | awk -v nd="$NOWDATE"_"$NOWTIME" '{printf nd "\n" " User: "$1" Terminal: "$2" Login: "$3" "$4 "\n"}') 

К сожалению, \n не работает, а это значит, что я не могу получить новую строку после переменной $4 . На выходе не появляются новые строки. Как я могу добиться того, что printf создает новую строку после переменной $4 ?

  • Один хост, две виртуальные машины, которые не могут пинговать друг друга. Как решить
  • Cross LFS - PPC - Ошибка при компиляции
  • как установить стиль тильды + псевдоним?
  • Получить в реальном времени stdout из контейнера докера на удаленно выполненной команде
  • Скрипт для прокрутки папок с числовыми именами
  • объединение 3 отдельных массивов в один многомерный массив в bash
  • Примечание. Я просто выполняю эхо, чтобы перечислить пользователей, поэтому echo $USERS

  • как обнаружить спящий режим / резюме ноутбука (закрыть крышку, открыть) в osx из сценария bash
  • Как распознать вредоносные пакеты AUR
  • Не удалось подключиться к узлу 127.0.0.1: соединение отклонено
  • Linux-ОС как единая групповая версия
  • Переместить все файлы в подкаталоги, названные в честь начала имени файла.
  • Странное поведение контроля-d
  • One Solution collect form web for “awk не делает новую строку”

    замещать

     echo $USERS 

    с:

     echo "$USERS" 

    В отношении некотируемых переменных, например, в echo $USERS , оболочка выполняет разбиение слов . Это означает, что все символы пробела, такие как newline, заменяются первым символом в IFS (по умолчанию: пробел). Если вы хотите сохранить свои новые строки, используйте двойные кавычки.

    Linux и Unix - лучшая ОС в мире.