Comment lister des fichiers texte sans extension de fichier .txt?


10

Par exemple, comment puis-je répliquer:

ls *.txt

quand mes fichiers texte manquent la .txtfin, et en ce qui concerne les extensions apparaissent les mêmes que beaucoup d'autres types de fichiers?

Alternativement, est-il possible de lister spécifiquement uniquement les fichiers qui n'ont PAS d'extension de fichier?

Réponses:


8

Pour faire correspondre des fichiers sans extension, vous pouvez utiliser la commande

ls | grep -v '\.'

Pour faire correspondre des fichiers sans .txtextension, vous pouvez utiliser la commande

ls | grep -v '\.txt'

Cela transmettra la liste des fichiers du répertoire actuel à grep, ce qui supprimera tous les noms de fichiers qui contiennent un .(ou .txtpour la deuxième commande).


Merci! Cela a répondu à ma question. De plus, est-il possible d'utiliser le même outil grep avec d'autres commandes? Par exemple, avec todos? (pour convertir les fins de ligne)
user82212

1
Oui, greppeut être utilisé avec n'importe quelle commande. Le |symbole est utilisé pour passer la sortie d'une commande à une autre et grepcorrespondra aux lignes qui ont (ou n'ont pas) de texte spécifique. Mais si vous souhaitez modifier le texte (autre que simplement imprimer les lignes correspondantes), vous devriez jeter un œil à la sedcommande.
iBelieve

Pour rechercher uniquement les fichiers texte (à l'exception des répertoires et des fichiers binaires), utilisez:ls --classify | grep -v '/'.'*'
chaskes

6

Avec ls -ignore="PATTERN"vous pouvez exclure des fichiers d'un résultat ls.

Par exemple, ls --ignore="*.txt"pour ignorer les fichiers txt.


3

Niez simplement votre modèle (note: shopt -s extglobest requis).

Pour afficher tous les fichiers sans extension:

ls !(*.*)

Pour afficher des txtfichiers non , essayez:

ls !(*.txt)

0

La commande ls -SX1|lesssera triée par extension dans une seule colonne et les fichiers sans une seront déplacés vers le haut. Il est conseillé de passer par moins comme dans l'exemple pour les répertoires contenant plus de quelques fichiers afin de limiter la sortie à un écran plein à la fois.


0

Je préfère éviter l'utilisation de grep pour les opérations de listage simples.

Afin d'éviter d'utiliser grep,

Je recommande d'utiliser ls !(*.*)pour rechercher des fichiers sans extension de fichier, et

ls -I "*.gz" -I "*.tz" ou ls --ignore={"*.jpg","*.png","*.bmp"}

exclure des extensions de fichier spécifiques

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.