Por exemplo, como posso replicar:
ls *.txt
quando meus arquivos de texto estão faltando o .txt
final e, no que diz respeito às extensões, aparecem iguais a muitos outros tipos de arquivo?
Como alternativa, é possível listar especificamente apenas os arquivos que NÃO possuem extensão de arquivo?
command-line
file-format
ls
user82212
fonte
fonte
grep
pode ser usado com qualquer comando. O|
símbolo é usado para passar a saída de um comando para outro egrep
corresponderá a linhas que possuem (ou não têm) texto específico. Mas se você deseja modificar o texto (além de apenas imprimir linhas correspondentes), consulte osed
comando.ls --classify | grep -v '/'.'*'
Com
ls -ignore="PATTERN"
você pode excluir arquivos de um resultado ls.Por exemplo,
ls --ignore="*.txt"
para ignorar arquivos txt.fonte
Simplesmente negue seu padrão (nota:
shopt -s extglob
é obrigatório).Para exibir todos os arquivos sem extensão:
Para mostrar não
txt
arquivos, tente:fonte
O comando
ls -SX1|less
classificará por extensão em uma única coluna e os arquivos sem um serão movidos para o topo. A tubulação através de menos como no exemplo é sugerida para diretórios com mais de alguns arquivos para limitar a saída a uma tela cheia por vez.fonte
Prefiro evitar o uso do grep para operações simples de listagem.
Para evitar o uso
grep
,Eu recomendo usar
ls !(*.*)
para encontrar arquivos sem extensão els -I "*.gz" -I "*.tz"
ouls --ignore={"*.jpg","*.png","*.bmp"}
excluir extensões de arquivo específicas
fonte