ls comando para excluir certos arquivos [duplicados]

-1

Alguém pode me ajudar a escrever um comando ls para listar os arquivos que começam com abc ( abc*.txt ) e excluir os que contêm _DEL_ no nome ( abc*_DEL*.txt )

Estou tentando algo assim:

ls abc*.txt --ignore "abc*_DEL_*.xt"
    
por Rao 15.02.2018 / 05:26

1 resposta

1

Tente isto: ls -w 1 abc*.txt|grep --invert-match --regexp=DEL

ls saem todos os arquivos correspondentes, um por linha. O grep filtra arquivos com maiúsculas e minúsculas "DEL".

Exemplo:

leonid@LeonidMew:~$ ls -w 1 *.txt
abc123.txt
abc222.txt
abc_333.txt
abc_DEL.txt
bbb111.txt
ccc111.txt
leonid@LeonidMew:~$ ls -w 1 abc*.txt|grep --invert-match --regexp=DEL
abc123.txt
abc222.txt
abc_333.txt

Atualizado: com base nos comentários: isso pode ajudar: Experimente este ls -1 abc*.txt|grep -v -e DEL Note que o glob abc * é para a linha de comando do shell, se você precisar dele no script, então é necessário um modo diferente de uso (por exemplo, executar o shell para analisar um comando a partir do script)

    
por LeonidMew 15.02.2018 / 06:15