Eu executei este comando:
find /home/ ~ -type f -size 5 "*." -a -30
mas disse find: paths must precede expression
. Estou tendo dificuldade em fazer com que find
procure correspondências no diretório atual, bem como em seus subdiretórios. O que esse erro significa e como posso obter as correspondências do diretório atual e de seus subdiretórios?
Resposta
Como você parece entender, você pode especificar vários pontos de partida para find
; por exemplo,
find dir1 dir2 dir3 -type f … (other arguments) …
Mas seus "*."
e -30
não são termos de pesquisa / ação válidos, então find
acha que você “está fornecendo mais pontos de partida após -type f
. Talvez você queira dizer -name "*."
e -mtime -30
?
PS -name "*."
corresponderia a todos os nomes que terminam com um ponto ( .
), também conhecido como ponto ou ponto final. Embora válido, seria um padrão bastante incomum; é é realmente o que você quer dizer?
PPS Se o seu diretório inicial (representado por ~
) estiver em /home
, então seu comando é redundante, pois pesquisará seu diretório home duas vezes.