Para excluir arquivos ocultos ao usar o locate, tente isto:
locate -i --regex "^/absolute/path/to/the/directory/[^\.]+"
Se o diretório contiver arquivos como .hidden
, ..hidden
, ...hiden
, eles também serão excluídos. Se você quiser excluir somente .hidden
, remova o +
do final:
locate -i --regex "^/absolute/path/to/the/directory/[^\.]"
ou simplesmente (a expressão regular prolongada também não é necessária):
locate -ir "^/absolute/path/to/the/directory/[^\.]"
EDITAR: Depois de editar a pergunta, todo o significado da pergunta é diferente agora e minha resposta inicial não está correta no contexto modificado. Execute o seguinte para excluir todos os arquivos ocultos da saída de locate
(dado que o nome do arquivo não contém /
):
locate -i "file_name" | egrep -v "/(\.)+[^/]+$"