2010-12-15 8 views
2

Was ist der Befehl zum Drucken von Jahr, Monat und Datum mit einer horizontalen Registerkarte zwischen den Feldern in unix? ist die folgende Antwort korrekt?Datum mit Tabs Abstand dazwischen in Unix

% date + "% y% m% d"

ich weiß, tat $ date + "% y-% m-% d" geben 88-05-21

+0

Neugierig, wenn Sie bereits eine mögliche Antwort haben, warum fragen Sie, ob es funktioniert, anstatt es nur zu versuchen? –

Antwort

3

Wenn Sie die Bash-Shell verwenden:

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

Notiere die $'\t' Shell-Notation, die eine wörtliche horizontale Tabulatorzeichen erzeugt.

EDIT:

Viele Befehle, wie printf(1) Unterstützung eine Art Notation keine Sonderzeichen wie eine horizontale Register zu spezifizieren:

$ printf 'x\ty\n' 
x y 

Wenn der Befehl so etwas wie dieses nicht unterstützt, die Art und Weise Um damit umgehen zu können, wird eine literale horizontale Registerkarte in die Formatzeichenfolge eingebettet. Leider neigt die Hülle dazu, den Tab-Schlüssel speziell z.B. Auto-Vervollständigung durchführen.

In Bash (und vielleicht andere SH-ähnliche Shells) gibt es eine bequeme Notation wie $'\t', um dieses Problem zu umgehen.

Eine andere Möglichkeit besteht darin, den "Zitatmodus" der Shell aufzurufen. In vielen Shells (einschließlich bash und tcsh) kann dies durch Drücken von Strg-V vor dem Drücken des Sonderzeichens erfolgen. Dies wird die Shell-Zitat-Modus für das nächste Zeichen nur aktivieren:

$ echo 'x q' 
x q 

Das Ergebnis oben kann durch Drücken von Strg-V nach dem x erreicht werden und vor der Tab-Taste drücken.

+0

% datum + "% y"% '\ t' "% m"% '\ t' "% d" ist dies schreiben für unix –

+0

@ user238284: Bitte sagen Sie uns, welches OS und welche Shell Sie bearbeiten - sonst Wir können nicht wirklich antworten. – thkala

2

das Datum gedruckt mit Leerzeichen dazwischen ist alles was Sie tun müssen: date "+%y %m %d". Ich empfehle Ihnen, die Manpage (man date) für date zu überprüfen.

+0

Bitte beachten Sie, dass das OP horizontale Tabs als Trennzeichen und nicht als Leerzeichen haben soll. – thkala

+0

Ups, mein Schlechter! Aus irgendeinem Grund, zwischen dem Lesen der Frage und dem Schreiben der Antwort, fiel mir etwas in den Sinn. –