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 ?

Примечание. Я просто выполняю эхо, чтобы перечислить пользователей, поэтому echo $USERS

One Solution collect form web for “awk не делает новую строку”

замещать

 echo $USERS 

с:

 echo "$USERS" 

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

  • Способ использования `/ usr / bin / env sed -f` в shebang?
  • Сценарий запуска systemd postgresql
  • выходное содержание во втором случае
  • Как клонировать часть только для чтения файловой системы / proc
  • Выполнение программы, вызванной оболочкой, вызываемой crontab, возвращает код 127
  • Сценарий чтения оболочки для sftp
  • Как увеличить колонку с помощью AWK
  • Сценарий работает вручную, но не в cron - не вычисляет var?
  • Что такое «правильный путь» для внесения изменений в /etc/resolv.conf с помощью /etc/resolv.conf.d?
  • Открытие терминала, отличного от xterm, запуск команды на нем и не закрытие терминала после его успешного завершения
  • Экспортируйте плейлист m3u в каталог, чтобы они отображались в списке воспроизведения
  • Linux и Unix - лучшая ОС в мире.