web-dev-qa-db-fra.com

Comment lister les fichiers texte sans extension .txt?

Par exemple, comment puis-je répliquer:

ls *.txt

lorsque la fin de .txt manque dans mes fichiers texte, et que les extensions disparaissent, sont identiques à de nombreux autres types de fichiers?

Sinon, est-il possible de ne lister que les fichiers ne portant AUCUNE extension?

9
user82212

Pour faire correspondre les fichiers n’ayant aucune extension, vous pouvez utiliser la commande

ls | grep -v '\.'

Pour faire correspondre les fichiers n’ayant pas l’extension .txt, vous pouvez utiliser la commande

ls | grep -v '\.txt'

Cela passera la liste des fichiers du répertoire en cours à grep, ce qui supprimera tous les noms de fichiers contenant un . (ou .txt pour la deuxième commande).

7
iBelieve

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

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

6
Vivas84

Annulez simplement votre modèle (remarque: shopt -s extglob est requis).

Pour afficher tous les fichiers sans extension:

ls !(*.*)

Pour afficher les fichiers non -txt, essayez:

ls !(*.txt)
3
kenorb

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 fichiers spécifiques

0
computingfreak

La commande ls -SX1|less va trier par extension dans une seule colonne et les fichiers sans une seront déplacés vers le haut. Il est suggéré d’utiliser moins de fichiers, comme dans l’exemple, pour les répertoires contenant plus que quelques fichiers afin de limiter la sortie à un écran plein à la fois.

0
Elder Geek