13 votes

mkdir avec le nom de la date ?

Dans Shell de Linux, suis-je capable de créer un répertoire mais le nom serait une chaîne renvoyée par un autre programme ? Et si j'en suis capable, comment faire ?

En particulier, on me demande de créer un nouveau répertoire dans mon Home, dont le nom serait les minutes de l'horloge de mon ordinateur. Supposons que /home/john/01/ , 01 est le nombre de minutes de mon horloge.

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

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

22voto

steeldriver Points 118154

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

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

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

17voto

Philippe Gachoud Points 5360

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 plus.

9voto

Humble Points 143

Vous pouvez le faire facilement en utilisant la commande suivante :

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

5voto

Raphael Points 7725

Vous pouvez le faire en tapant la commande suivante :

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

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

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X