Eu não entendo bem o exemplo dado pelo man find
, alguém pode me dar alguns exemplos e explicações? Posso combinar expressão regular?
A pergunta mais detalhada é assim:
Escreva um script de shell changeall
, que tenha uma interface semelhante changeall [-r|-R] "string1" "string2"
. Ele vai encontrar todos os arquivos com um sufixo .h
, .C
, .cc
, ou .cpp
e alterar todas as ocorrências string1
para string2
. -r
é uma opção para permanecer apenas no diretório atual ou incluir subdir.
NOTA:
- Para casos não recursivos,
ls
NÃO é permitido, só poderíamos usarfind
esed
. - Eu tentei,
find -depth
mas não era suportado. É por isso que eu queria saber se-prune
poderia ajudar, mas não entendi o exemploman find
.
EDIT2: Eu estava realizando uma tarefa, não fiz perguntas em grandes detalhes porque gostaria de terminar pessoalmente. Desde que eu já fiz e entreguei, agora posso declarar a questão toda. Além disso, consegui terminar a tarefa sem usá-la -prune
, mas gostaria de aprender de qualquer maneira.
-prune
não funciona apenas em diretórios (mas, para diretórios, também impede a inserção de diretórios correspondentes a essa condição, ou seja, aqui os diretórios correspondentes a essa-name .snapshot
).