grep -rl 'Relaxed' | xargs dirname | xargs mv -vt donedirectory
Em câmera lenta:
-
grep -rl 'Relaxed'
pesquisa todos os arquivos e imprime seus nomes. Se eles estiverem todos no subdiretório de primeiro nível do seu diretório atual, usargrep -l 'Relaxed' */*
também será possível. -
xargs dirname
chamadirname
com cada arquivo dessa saída para imprimir o nome do diretório -
xargs mv -v -t donedirectory
move todos os diretórios resultantes para o diretório de destino.
Se vários arquivos com "Relaxed" puderem ser encontrados no mesmo diretório, você poderá evitar mensagens de erro tornando os nomes de diretórios exclusivos:
grep -rl 'Relaxed' | xargs dirname | sort -u | xargs mv -vt donedirectory
Nota: o comando acima assume que não há nasties em nomes de arquivos / diretórios (espaços, etc ...).