дата с пробелами в Unix - PullRequest
       4

дата с пробелами в Unix

2 голосов
/ 15 декабря 2010

Что такое команда для печати года, месяца и даты с горизонтальной вкладкой между полями в unix ?правильный ответ на следующий вопрос ??

% date + "% y% m% d"

я знаю tat $ date + "% y-% m-% d" даст 88-05-21

Ответы [ 2 ]

3 голосов
/ 15 декабря 2010

Если вы используете оболочку bash:

$ date +"%y"$'\t'"%m"$'\t'"%d"
10  12  15

Обратите внимание на нотацию оболочки $'\t', которая создает буквенный горизонтальный символ табуляции.

EDIT:

Многие команды, такие как printf(1), поддерживают некоторые обозначения для указания любых специальных символов, таких как горизонтальная табуляция:

$ printf 'x\ty\n'
x   y

Если команда не поддерживает что-то подобное, способ справиться с этим - встроить буквенную горизонтальную вкладку в строку формата. К сожалению, оболочка имеет тенденцию обрабатывать клавишу табуляции специально, например, выполнить автозаполнение.

В bash (и, возможно, других sh-подобных оболочках) есть удобное обозначение, например $'\t', чтобы обойти эту проблему.

Другой способ - вызвать «режим цитирования» оболочки. Во многих оболочках (включая bash и tcsh) это можно сделать, нажав Ctrl-V перед нажатием специального символа. Это включит режим цитирования оболочки только для следующего символа:

$ echo 'x    q'
x   q

Приведенного выше результата можно достичь, нажав Ctrl-V после x и до нажатия клавиши табуляции.

2 голосов
/ 15 декабря 2010

Для печати даты с пробелами между ними все, что вам нужно сделать, это: date "+%y %m %d". Я настоятельно рекомендую проверить справочную страницу (man date) для date.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...