Créer des dossiers grâce à une liste de noms contenue dans un fi [Résolu/Fermé]

Signaler
Messages postés
1956
Date d'inscription
samedi 22 novembre 2008
Statut
Membre
Dernière intervention
27 juillet 2016
-
Messages postés
2083
Date d'inscription
jeudi 16 septembre 2004
Statut
Membre
Dernière intervention
15 octobre 2020
-
Hello !

Je souhaite rapidement créer environ 400 dossiers différents en me basant sur une liste contenue dans un fichier. Chaque ligne de la liste correspond à un dossier (ou vice-versa plutôt).

Exemple :

$ cat plop
Marie Jeanne
Pierre Morrod
Jean Dupond
Charle-Claude DuSentier
Pierre jean de la Manivelle
etc.


Et donc, j'aimerais créer un dossier par personne.

Je suis parti sur un truc tout simple :
cat plop | xargs -L 1 mkdir


mais il n'aime pas les espaces et voit ça comme deux dossiers à créer s'il y a deux mots sur une ligne par exemple.

Merci de vos tuyaux ;) !!

"Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement." -A. Einsten-

4 réponses

Messages postés
2083
Date d'inscription
jeudi 16 septembre 2004
Statut
Membre
Dernière intervention
15 octobre 2020
233
Salut,
alors c'est comme ça qu'il faut faire :
xargs -a plop -d "\n" -i mkdir "{}"
l'option -a pour lire directement le fichier, cat ne sert plus à rien
-d pur définir le délimiteur de champs "\n" = saut de ligne
dans le man. pour l'option -d on trouve : Les apostrophes, les antislashs n'ont pas de signification particulière
2
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60511 internautes nous ont dit merci ce mois-ci

Messages postés
2083
Date d'inscription
jeudi 16 septembre 2004
Statut
Membre
Dernière intervention
15 octobre 2020
233
Salut,
comme ça :
cat plop | xargs -i mkdir "{}"

Messages postés
1956
Date d'inscription
samedi 22 novembre 2008
Statut
Membre
Dernière intervention
27 juillet 2016
100
Magnifique, merci ça marche nickel ! ;)

Messages postés
1956
Date d'inscription
samedi 22 novembre 2008
Statut
Membre
Dernière intervention
27 juillet 2016
100
Nuance en fait, dans une autre liste, j'ai une quarantaine de noms qui contiennent des apostrophes (guillemets simples) et la commande me retourne ceci :
xargs: guillemets simple non appairés ; par défaut les guillemets sont particuliers à xargs à moins d'utiliser l'option -0


en rajoutant -0 ça n'arrange absolument pas les choses ( ça ne créer rien du tout )


(en attendant j'ai remplacé les guillemets simple avec sed pour les remplacer par des traits sous la ligne... peut-être est-ce une meilleure habitude à prendre que de ne pas mettre ce genre de caractère dans des noms de dossiers...)

"Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement." -A. Einsten-