Filtrar a saída do comando find

0

Gostaria de mover os últimos arquivos da saída do comando find . A única maneira que posso pensar é:

find ~/place -iname '*.mp4' -ok mv{} ~/someplace \;

No entanto, existem tantos arquivos que se torna tedioso continuar digitando no para os que eu não quero mover. Além disso, os que eu estou interessado em todos têm letras maiúsculas neles. Existe uma maneira melhor de fazer isso?

    
por Samuel 10.10.2016 / 19:06

1 resposta

4

Se o nome do arquivo for totalmente em letras maiúsculas, exceto a parte .mp4 , você pode usar a opção find do -regex :

find ~/place -regex '.*/[A-Z]*.mp4' -exec mv -t ~/someplace {} +

Se o mp4 também for maiúsculo, modifique de acordo. Usar mv -t ~/someplace permite usar o -exec ... {} + form, para que vários arquivos sejam movidos juntos. O .*/ corresponde ao caminho antes do nome do arquivo.

    
por muru 10.10.2016 / 19:17