exclui certos arquivos em ls

32

Eu gostaria de executar ls e excluir determinados arquivos na saída.

Quando executo o seguinte comando, obtenho todos os arquivos em cada linha:

$ ls -1
file1
file2
file3
temp

Gostaria de executar este comando de uma forma que mostre

$ ls -1 <insert magic here> temp
file1
file2
file3
    
por Alice Ryhl 18.08.2014 / 16:54

3 respostas

47
ls -I <filename>

-I = Ignora o nome do arquivo, ou seja, não lista o arquivo especificado.

Para ignorar mais de um arquivo, adicione um -I antes de cada nome de arquivo.

ls -I file1 -I file2

Para ignorar arquivos por suas extensões de nome, faça o seguinte, por exemplo.

ls -I "*.jpg" -I "*.svg"
    
por Sudheer 18.08.2014 / 16:57
13

Para mim, se eu usar uma vez, funciona, mas se eu usar duas vezes, não. por exemplo: ls -I *.csv funciona.

Mas ls -I *.csv -I *.txt não funciona e retorna arquivos txt.

- ignore fez o truque para mim. Isso é o que eu precisava e trabalhei.

ls -lhrt --ignore="*.gz" --ignore="*.1"

Isso listará meus arquivos da pasta de log, excluindo os registros de backup antigos.

    
por Damodar Bashyal 13.07.2015 / 03:47
1

ls --ignore={"*.jpg","*.png","*.svg"}

    
por Kartikey Tanna 13.02.2017 / 23:11

Tags