Créer des dossiers grâce à une liste de noms contenue dans un fi

Résolu/Fermé
Swiss Knight Messages postés 1956 Date d'inscription samedi 22 novembre 2008 Statut Membre Dernière intervention 27 juillet 2016 - Modifié par Swiss Knight le 23/07/2013 à 19:12
Flachy Joe Messages postés 2103 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 21 novembre 2023 - 24 juil. 2013 à 18:42
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-
A voir également:

4 réponses

Flachy Joe Messages postés 2103 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 21 novembre 2023 259
24 juil. 2013 à 18:42
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
Flachy Joe Messages postés 2103 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 21 novembre 2023 259
23 juil. 2013 à 19:13
Salut,
comme ça :
cat plop | xargs -i mkdir "{}"

1
Swiss Knight Messages postés 1956 Date d'inscription samedi 22 novembre 2008 Statut Membre Dernière intervention 27 juillet 2016 110
23 juil. 2013 à 19:18
Magnifique, merci ça marche nickel ! ;)

0
Swiss Knight Messages postés 1956 Date d'inscription samedi 22 novembre 2008 Statut Membre Dernière intervention 27 juillet 2016 110
Modifié par Swiss Knight le 23/07/2013 à 19:33
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-
0