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?

user82212
la source

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).

Je crois
la source
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.

Vivas84
la source
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)
Kenorb
la source
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.

Elder Geek
la source
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

computingfreak
la source