[script-Bash] ls : argument list too long
phil
-
lami20j Messages postés 21506 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
lami20j Messages postés 21506 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
Salut à tous,
Dans un de mes répertoire j'ai 3 types de fichiers :
*.gse ;'*.normal et *.normal.PgSg
Mon script fonctionne sous bash mais lorsque je fais ls *.normal j'ai un message d'erreur : argument list too long.
J'ai suivie les conseils trouvé sur CCM et je remplace donc cette commande par : ls *.normal | xargs ls mais ça me renvoie tous les fichiers de mon rep et pas seulement ceux finissant par normal ou plus.
Que faire ??
:) Merçi d'avance !
Dans un de mes répertoire j'ai 3 types de fichiers :
*.gse ;'*.normal et *.normal.PgSg
Mon script fonctionne sous bash mais lorsque je fais ls *.normal j'ai un message d'erreur : argument list too long.
J'ai suivie les conseils trouvé sur CCM et je remplace donc cette commande par : ls *.normal | xargs ls mais ça me renvoie tous les fichiers de mon rep et pas seulement ceux finissant par normal ou plus.
Que faire ??
:) Merçi d'avance !
Configuration: Windows XP Firefox 2.0.0.4
5 réponses
-
Salut,
T'as essayé avec "find" comme dans l'exemple de la FAQ ?
-
Salut jipicy,
Oui j'ai essayé les 2 méthodes et les deux me donnent le même résultats : l'affichage de tous les fichiers présents dans le rep.
Bon ! d'un autre côté j'ai bêtement réglé le problème en changeant de machine de calcul, du coup ça marche.
Mais ça reste bizarre. Tiens voilà ce que ça donne :condor.plang$ find . -type -f -name \*normal* | xargs ls 20001229-160121.gse 20001229-160121.gse.normal 20001229-160121.gse.normal.PgSg.PS2PnSn.2-15 20001229-213419.gse 20001229-213419.gse.normal 20001229-213419.gse.normal.PgSg.PS2PnSn.2-15 20001230-150711.gse 20001230-150711.gse.normal 20001230-150711.gse.normal.PgSg.PS2PnSn.2-15 20001231-113509.gse 20001231-113509.gse.normal 20001231-113509.gse.normal.PgSg.PS2PnSn.2-15 20001231-120928.gse 20001231-120928.gse.normal 20001231-120928.gse.normal.PgSg.PS2PnSn.2-15
alors que je voudrais :20001229-160121.gse.normal 20001229-160121.gse.normal.PgSg.PS2PnSn.2-15 20001229-213419.gse.normal 20001229-213419.gse.normal.PgSg.PS2PnSn.2-15 20001230-150711.gse.normal 20001230-150711.gse.normal.PgSg.PS2PnSn.2-15 20001231-113509.gse.normal 20001231-113509.gse.normal.PgSg.PS2PnSn.2-15 20001231-120928.gse.normal 20001231-120928.gse.normal.PgSg.PS2PnSn.2-15
-
-
Salut,
j'ai eu un souci comme celui-ci !
Je l'ai réglé en lançant le script à partir du dossier contenant les fichiers à utiliser !
Mais je ne suis pas sûr que cela puisse t'aider !
:-))-
-
oui !
la première fois ça a très bien marché !
Ensuite c'est devenu + ou - alléatoire !
Je sais ce n'est pas normal tu va me dire ! Probablement une erreur de ma part.
Mais ça m'est arrivé ! De toute façon c'est une commande pour lancer des tests donc l'option script n'était plus nécessaire.
J'étais sous Darwin X (MacOS) (ce qui devrait pas changer grand chose !).
:-))
-
-
cette syntaxe :
find . -type -f -name \*normal* | xargs ls
est bien étrange. Et celle là:
find . -type f -name \*normal\* -ls -
Alors j'ai tapé cette commande :
find . -type f -name \*normal\* -ls
et ça marche. Le seul détail gênant c'est que ça donne aussi les info du fichier, genre : droit en écriture, en lecture, date de modif....Mais ça marche donc c'est plutôt cool ! Merci dubcek :)))) -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
En fait on devrait dire
back = en arrière
slash = oblique
en arrière oblique
Il n'y a pas une barre nulle part :-))
en ce cas je préfère le terme anglais backslash mais je suis sur un site francophne.
si un jour la commision decidera de l'appéler ZORO alors on va demander à Alain DELON ce qu'il pense mais ça sera mieux de voir aussi où il en est avec l'informatique :-))
j'aime les arcanes des backslashes dans les scripts
ça ne me dérange pas non plus, mais je préfère quand mème les apostrophes simples (ou les virgules suspendues ou je ne sais pas quoi ils vont trouver encore CGTN :-)))) quand j'ai quelque chose comme ça
$var = "\\un\\deux\\trois\\quatre\\cinq\\six\\etc\\";
et la même chose
$var = '\un\deux\trois\quatre\cinq\six\etc\';