Até o momento, muitos arquivos ainda estão no meu sistema e eu não preciso mais deles, então como excluir todos os arquivos com pelo menos um ano de idade?
command-line
Maythux
fonte
fonte
{}
in-exec
(assim ele lê-exec rm "{}" \;
). Isso garante que os espaços sejam manipulados corretamente ... E você pode simplesmente usar a-delete
função em vez de-exec
."{}"
transforma{}
antes de passá-lo parafind
o primeiro lugar; depois ofind
substitui. A citação{}
é sugerida no caso{
e}
eles próprios às vezes podem ser tratados especialmente pelo shell - o que não tem nada a ver. fazer com espaços em branco.E frequentemente{}
não precisa ser citado.Não consigo pensar em nenhuma situação, pelo menos ao invocar find de um shell no estilo Bourne, quando{}
, sem nada dentro, aparecendo por si só como argumento, seria têm de ser citado pode você).?find
identificadores escapam por si só, mas não é um mau hábito permanecer durante o script. Não dói.find
não lidasse com a fuga,"{}"
ainda teria o mesmo efeito que -{}
apenas nenhum funcionaria, em vez de ambos funcionarem. Isso{}
e"{}"
se comportar da mesma forma não é - e não pode ser - devido a qualquer recurso especial do find. Confundir o que é expandido pelo shell com o que é expandido por outro programa é um mau hábito. Todos nós cometemos esse erro ocasionalmente, mas ainda é um erro - não é uma prática recomendada. (Um ainda pode citar{}
para ajudar os seres humanos ver que não é um padrão para a expansão cinta, mas isso é não relacionado à repartição de palavras.)