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?
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).
Avec ls -ignore="PATTERN"
, vous pouvez exclure des fichiers d’un résultat ls.
Par exemple, ls --ignore="*.txt"
pour ignorer les fichiers txt.
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)
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
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.