Ответ 1
Да.
echo "yesterday" | xargs date +"%d %m %Y" -d
GNU Date позволяет конвертировать строки даты следующим образом:
$ date +"%d %m %Y" -d "yesterday"
04 01 2012
Можно ли связать строку даты с ней для преобразования? Я пробовал очевидный -d -
следующим образом:
$ echo "yesterday" | date +"%d %m %Y" -d -
но сегодня он печатает дату вместо вчерашнего дня.
Можно ли передавать ему значения или не поддерживает это?
Спасибо.
Да.
echo "yesterday" | xargs date +"%d %m %Y" -d
date -f сообщает ему делать то же самое, что и -d, за исключением каждой строки в файле... вы можете установить имя файла на "-", чтобы прочитать его со стандартного ввода.
echo "yesterday" | date +"%d %m %Y" -f -
Вы можете использовать замену `command`
или $(command)
:
date +"%d %m %Y" -d $(echo "yesterday")
Просто, чтобы бросить его, в bash:
date +"%d %m %Y" -f <(echo yesterday)