web-dev-qa-db-fra.com

mkdir avec le nom de la date?

Dans Linux Shell, puis-je créer un répertoire mais le nom serait une chaîne renvoyée par un autre programme? Et si je le peux, comment faire?

En particulier, on me demande de créer un nouveau répertoire dans ma maison, et son nom serait la minute sur l'horloge de mon ordinateur. Supposons que /home/john/01/, 01 soit les minutes de mon horloge.

Je pensais à quelque chose comme un pipeline date +"%M" | mkdir mais je ne sais pas comment je vais mettre ce nombre renvoyé dans le programme mkdir.

Enfin, une autre idée m'est venue à l’esprit, quelque chose comme ceci: mkdir (date +"%M"), mais c’est aussi une erreur. Toute aide s'il vous plaît?

9
Skemelio

Le concept que vous recherchez est substitution de commande , qui utilise la syntaxe $(command)

mkdir /home/john/$(date +%M)

Vous pouvez également voir l'ancienne syntaxe 'backtick', `command`

15
steeldriver

mkdir $(date +%Y%m%d) ou j'utilise personnellement mkdir $(date +%Y%m%d_%H%M%S) pour hh: mm: ss. date --help vous donnera les différents formats si vous avez besoin de quelque chose de plus.

10
Philippe Gachoud

Vous pouvez le faire facilement en utilisant la commande suivante:

$ min=$(date +"+%M"); mkdir $min
8
Sourabh

Vous pouvez le faire en tapant la commande suivante:

mkdir ~/$(date | awk -F':' '{print $2}')

La commande crée un répertoire dans le dossier home et donne le nom de la minute en cours.

5
Raphael