Midnight Commander, usando a data no menu User

4

Gostaria de usar o MC (comando da meia-noite) para compactar a pasta selecionada com a data em seu nome, por exemplo: dirname_20131231.tar.gz

O comando no menu Usuário é:

tar -czf dirname_'date '+%Y%m%d''.tar.gz %d

O arquivo está faltando porque %m e %d têm outro significado no MC. Eu fiz um alias para a data, mas também não funciona.

Alguém já resolveu esse problema?

    
por user2013619 31.12.2013 / 01:43

1 resposta

5

Para escapar dos sinais de porcentagem, duplique-os:

tar -czf dirname_$(date '+%%Y%%m%%d').tar.gz %d

O exemplo acima comprimiria o diretório atual (% d) para um arquivo também no diretório atual. Se você quiser compactar o diretório apontado pelo cursor em vez do diretório atual, use% f em vez disso:

tar -czf %f_$(date '+%%Y%%m%%d').tar.gz %f

mc manipula o escape de caracteres especiais, portanto, não é necessário colocar% f entre aspas.

A propósito, o tratamento especial dos sinais de porcentagem do comandante da meia-noite ocorre não apenas no arquivo de menu do usuário, mas também na linha de comando. Esse é um problema ao usar comandos shell com construções como ${var%.c} . Na linha de comando, o mesmo que no arquivo do menu do usuário, os sinais de porcentagem podem ser ignorados, dobrando-os.

    
por 31.12.2013 / 02:06

Tags