mkdir com o nome da data? [duplicado]

5

No shell do Linux, posso criar um diretório, mas o nome seria uma string retornada de outro programa? E se eu puder, como?

Em particular, sou solicitado a criar um novo diretório em minha Página inicial e seu nome seria o minuto no relógio do meu computador. Suponhamos que /home/john/01/ , 01 seja os minutos no meu relógio.

Eu estava pensando em algo como o pipeline date +"%M" | mkdir , mas não sei como vou colocar esse número retornado no programa mkdir .

Finalmente, outra ideia veio à minha mente, algo como isto, mas também é um erro. Alguma ajuda por favor?

    
por Skemelio 31.12.2015 / 16:58

4 respostas

11

O conceito que você está procurando é a substituição de comandos , que usa a sintaxe $(command)

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

Você também pode ver a sintaxe mais antiga do 'backtick', 'command'

    
por steeldriver 31.12.2015 / 17:05
6

mkdir $(date +%Y%m%d) ou eu pessoalmente uso mkdir $(date +%Y%m%d_%H%M%S) para hh: mm: ss. date --help lhe dará os diferentes formatos se você precisar de algo mais.

    
por Philippe Gachoud 31.12.2015 / 17:05
4

Você pode fazer isso digitando o seguinte comando:

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

O comando cria um diretório na pasta home e fornece o minuto atual como nome.

    
por Raphael 31.12.2015 / 17:07
4

Você pode fazer isso facilmente usando o seguinte comando:

$ min=$(date +"+%M"); mkdir $min
    
por Sourabh 31.12.2015 / 17:15