Commande: trouver fichiers sans extension
Fermé
ayok13
-
10 mai 2012 à 12:19
dna.factory Messages postés 25444 Date d'inscription mercredi 18 avril 2007 Statut Modérateur Dernière intervention 26 décembre 2024 - 10 mai 2012 à 14:07
dna.factory Messages postés 25444 Date d'inscription mercredi 18 avril 2007 Statut Modérateur Dernière intervention 26 décembre 2024 - 10 mai 2012 à 14:07
A voir également:
- Trouver le format d'un fichier sans extension
- Invite de commande - Guide
- Commande terminal mac - Guide
- Diskpart commande - Guide
- Commande dism - Guide
- Commande scannow - Guide
3 réponses
dna.factory
Messages postés
25444
Date d'inscription
mercredi 18 avril 2007
Statut
Modérateur
Dernière intervention
26 décembre 2024
1 613
Modifié par dna.factory le 10/05/2012 à 12:41
Modifié par dna.factory le 10/05/2012 à 12:41
qui n'ont pas de point, ou pas d'extention ?
un simple grep -v . t'afficheras tous les fichier n'ayant pas de points.
un grep -v '\....$' devrait (si je me gourre pas sur les expressions régulières) t'afficher tous les fichiers sauf ceux se terminant par un point suvit de 3 caractères.
(la commande contient 4 points d'affilés)
tu peux étendre les regex pour chercher de 2 à 4 caractères après le point. *
(ou faire ta faignasse et piper 3 grep -v)
google-chance : grep+regex : http://www.robelle.com/smugbook/regexpr.html
Stop failing the turing test !
un simple grep -v . t'afficheras tous les fichier n'ayant pas de points.
un grep -v '\....$' devrait (si je me gourre pas sur les expressions régulières) t'afficher tous les fichiers sauf ceux se terminant par un point suvit de 3 caractères.
(la commande contient 4 points d'affilés)
tu peux étendre les regex pour chercher de 2 à 4 caractères après le point. *
(ou faire ta faignasse et piper 3 grep -v)
google-chance : grep+regex : http://www.robelle.com/smugbook/regexpr.html
Stop failing the turing test !
dubcek
Messages postés
18758
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
24 décembre 2024
5 623
10 mai 2012 à 12:34
10 mai 2012 à 12:34
hello
recherche tout les fichiers dont le nom ne se termne pas par . et 3 caractères
recherche tout les fichiers dont le nom ne se termne pas par . et 3 caractères
find . ! -iname "*.???"
Merci beaucoup pour vos réponses, rapides en plus :D
Les fichiers sont sans point et sans extension, un vrai fichier linux quoi ;)
@dna.factory : je n'ai pas réussi à atteindre mon but avec grep.
"grep -v ." ne me donne rien, le prompt disparait et semble être en attente.
quand je le fais précédé d'un ls, cela ne donne toujours rien.
Pour l'expression régulière, quand je lance le grep tout seul ça fait comme la première fois et ça attend. Quand je le pipe à un ls il m'affiche effectivement quelques fichiers sans extensions (mais pas tous, j'ai vérifié en regardant manuellement la longue liste de fichiers du répertoire), mais aussi certains fichiers en .exe..., étrange
Mais je pense qu'effectivement avec les expressions régulières on doit pouvoir le faire, et c'est vrai qu'avec celle que tu as proposé ça aurait du marché, bizarre...
@dubcek : la commande fonctionne nickel. Pour généraliser la commande on peut même utiliser "*.*"
Merci encore
Les fichiers sont sans point et sans extension, un vrai fichier linux quoi ;)
@dna.factory : je n'ai pas réussi à atteindre mon but avec grep.
"grep -v ." ne me donne rien, le prompt disparait et semble être en attente.
quand je le fais précédé d'un ls, cela ne donne toujours rien.
Pour l'expression régulière, quand je lance le grep tout seul ça fait comme la première fois et ça attend. Quand je le pipe à un ls il m'affiche effectivement quelques fichiers sans extensions (mais pas tous, j'ai vérifié en regardant manuellement la longue liste de fichiers du répertoire), mais aussi certains fichiers en .exe..., étrange
Mais je pense qu'effectivement avec les expressions régulières on doit pouvoir le faire, et c'est vrai qu'avec celle que tu as proposé ça aurait du marché, bizarre...
@dubcek : la commande fonctionne nickel. Pour généraliser la commande on peut même utiliser "*.*"
Merci encore
dubcek
Messages postés
18758
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
24 décembre 2024
5 623
10 mai 2012 à 14:00
10 mai 2012 à 14:00
les noms de fichiers peuvent contenir des points sans représenter une extension : a.b.c , xxxx-1.2
dna.factory
Messages postés
25444
Date d'inscription
mercredi 18 avril 2007
Statut
Modérateur
Dernière intervention
26 décembre 2024
1 613
Modifié par dna.factory le 10/05/2012 à 14:08
Modifié par dna.factory le 10/05/2012 à 14:08
j'ai peut-etre été laconique...
grep -v tout seul ne te donnera rien, il faut l'utiliser en filtre d'une autre commande, par exemple ls.
ls |grep -v tmp te sortira tous les noms de fichiers ne contenant pas tmp (que ce soit au début, au milieu, ou à la fin)
ls |grep -v '\.tmp$' te listeras tous les fichiers ne se terminant pas par .tmp
ls |grep -v '\..\{2-4\}$' devrait (là je garantis rien, et je suis en vacances, donc j'ai pas mon sco, mon cygwin ou mon debian avec moi pour valider) te lister tous les fichiers ne se terminant pas par un point suivit de 2 à 4 caractères (de .7z à .html).
l'avantage du grep, c'est que tu peux l'utiliser en conjonction du find, qui est beaucoup plus puissant ((taille, date de modif, etc..) que le ls.
les regex étant ce qu'elles sont, tu dois pouvoir les utiliser aussi avec find.
grep -v tout seul ne te donnera rien, il faut l'utiliser en filtre d'une autre commande, par exemple ls.
ls |grep -v tmp te sortira tous les noms de fichiers ne contenant pas tmp (que ce soit au début, au milieu, ou à la fin)
ls |grep -v '\.tmp$' te listeras tous les fichiers ne se terminant pas par .tmp
ls |grep -v '\..\{2-4\}$' devrait (là je garantis rien, et je suis en vacances, donc j'ai pas mon sco, mon cygwin ou mon debian avec moi pour valider) te lister tous les fichiers ne se terminant pas par un point suivit de 2 à 4 caractères (de .7z à .html).
l'avantage du grep, c'est que tu peux l'utiliser en conjonction du find, qui est beaucoup plus puissant ((taille, date de modif, etc..) que le ls.
les regex étant ce qu'elles sont, tu dois pouvoir les utiliser aussi avec find.