Mover pastas que tenham um apostolado em seu nome

1

Esperando que seja fácil - não dá para funcionar.

Eu preciso mover todas as pastas e o conteúdo (sem subpasta) que tenha pelo menos um apóstrofo / citação em seu nome.

Algum apontador?

    
por pee2pee 18.04.2017 / 17:45

2 respostas

2

Você precisa escapar de ' usando um dos métodos de escape usuais. Da mesma forma, o padrão glob que você precisará é *<glob_pattern_here>*/ , o / à direita fará com que o shell corresponda apenas ao (s) diretório (s).

  • Usando barra invertida, \ :

    mv -t /destination/ *\'*/ 
    
  • Usando aspas duplas, " :

    mv -t /destination/ *"'"*/
    
  • Usando aspas simples, ' , na verdade é o mesmo que usar as barras invertidas:

    mv -t /destination/ *''\'''* 
    

Você pode fazer um echo mv ... primeiro como uma execução a seco. Substitua /destination/ pelo seu destino real.

Além disso, você pode tentar usar o preenchimento de tabulação se quiser fazer isso de forma interativa.

    
por heemayl 18.04.2017 / 18:01
0

Tenho certeza de que existem maneiras mais simples, mas isso deve funcionar em sh sem espaços no nome do arquivo

mv *[\"\']* 
    
por Grayson Kent 18.04.2017 / 17:58