开发者

date with tabs space in between in unix

What i开发者_开发知识库s the command for printing the year, month, and date with a horizontal tab between the fields in unix? is the followin answer correct??

%date +"%y %m %d"

i know tat $ date +"%y-%m-%d" will give 88-05-21


If you use the bash shell:

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

Note the $'\t' shell notation which produces a literal horizontal tab character.

EDIT:

Many commands, such as printf(1) support some kind of notation to specify any special characters like a horizontal tab:

$ printf 'x\ty\n'
x   y

If the command does not support something like this, the way to deal with it is to embed a literal horizontal tab in the format string. Unfortunately the shell tends to treat the tab key specially e.g. to perform auto-completion.

In bash (and perhaps other sh-like shells) there is a convenient notation like $'\t' to get around this issue.

Another way is to invoke the "quote mode" of the shell. In many shells (including bash and tcsh) this can be done by pressing Ctrl-V before pressing the special character. This will enable the shell's quote mode for the next character only:

$ echo 'x    q'
x   q

The result above can be achieved by pressing Ctrl-V after the x and before pressing the tab key.


To print the date with spaces in between all you need to do is: date "+%y %m %d". I highly recommend you check out the man page (man date) for date.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜