Подтвердить что ты не робот

Shell cmd "date" без новой строки в конце

Я хочу вывести строку даты с помощью команды date, но она заканчивается на "\n", которая мне не нужна, в настоящее время я использую:

echo -n `date +"[%m-%d %H:%M:%S]"`

или

date +"[%m-%d %H:%M:%S]"|tr -d "\n"

Есть ли встроенный параметр для "даты" для этого?

4b9b3361

Ответ 1

Нет, нет. Вам нужна другая команда, например echo -n, printf или tr. Вы можете разместить script где-нибудь в вашей PATH (например,/usr/bin/) и сделать его исполняемым с помощью chmod +x /usr/bin/mydate

script:

#!/bin/sh
echo -n `date +"[%m-%d %H:%M:%S]"`

или используйте псевдоним.

alias mydate="echo -n `date +"[%m-%d %H:%M:%S]"`"

Ответ 2

Вы можете использовать printf. Он не добавляет новый символ линии:

$ printf `date "+%d.%m.%Y"`
22.01.2016$

Ответ 3

Вы хотите заменить символ новой строки пробелом, чтобы вывод не выполнялся вместе.

Полный пример, который можно использовать для мониторинга пикового размера рабочей области:

nohup watch -t -n 60 "(date '+%F/%H:%M:%S' | tr '\n' '\t'; du -sh /folder/to/monitor/) >> workspace.log" &

Не забудьте убить это, поскольку файл будет расти бесконечно.

Ответ 4

Bash printf не требует даты для работы:

printf '%(%m-%d %H:%M:%S)T'

выведет текущее время без перевода строки.