Vous voulez donc une liste de noms de répertoires séparés par des virgules? Cela peut être fait.
Shell + coreutils
Puisque tout le monde publie des annonces, voici le mien également (mkdir + substitution de paramètre plus + redirection de shell).
DIR:/testdir
skolodya@ubuntu:$ ls
DIR:/testdir
skolodya@ubuntu:$ mkdir $( tr '[,\n]' ' ' < /home/xieerqi/dirList.txt )
DIR:/testdir
skolodya@ubuntu:$ ls
dirFive/ dirfour/ dirone/ dirthree/ dirtwo/
AWK
AWK est un langage de traitement de texte, mais il a une system()
fonction très pratique qui appelle le shell par défaut et exécute la commande [s] entre parenthèses (qui doit être une chaîne).
DIR:/xieerqi
skolodya@ubuntu:$ awk -F ',' '{for(i=1;i<=NF;i++) system("mkdir "$i)}' dirList.txt
DIR:/xieerqi
skolodya@ubuntu:$ ls -ld dir*
-rw-rw-r-- 1 xieerqi xieerqi 23 Feb 9 11:41 dirList.txt
drwxrwxr-x 2 xieerqi xieerqi 4096 Feb 9 11:42 dirone/
drwxrwxr-x 2 xieerqi xieerqi 4096 Feb 9 11:42 dirthree/
drwxrwxr-x 2 xieerqi xieerqi 4096 Feb 9 11:42 dirtwo/
DIR:/xieerqi
skolodya@ubuntu:$ cat dirList.txt
dirone,dirtwo,dirthree
Ou vous pouvez supprimer ,
avec gsub()
function et appeler system("mkdir "$0)
mais cela peut poser problème si vous souhaitez créer des répertoires avec des espaces dans leur nom
Python
Une façon pythonique de faire la même chose serait de lire chaque ligne, de se débarrasser de la fin \n
, de tout placer dans une liste, de parcourir les éléments de la liste et de créer des répertoires par élément de la liste. Notez que dans l'exemple ci-dessous, /home/xieerqi/dirList.txt
est le chemin complet donné à mon fichier, et nous construisons le chemin complet de chaque nouveau répertoire en joignant chaîne /home/username/
et le nom de répertoire lu dans liste. Remplacez vos propres valeurs si nécessaire
DIR:/testdir
skolodya@ubuntu:$ ls
DIR:/testdir
skolodya@ubuntu:$ /home/xieerqi/makeDirs.py
DIR:/testdir
skolodya@ubuntu:$ ls
dirFive/ dirfour/ dirone/ dirthree/ dirtwo/
DIR:/testdir
skolodya@ubuntu:$ cat /home/xieerqi/makeDirs.py
#!/usr/bin/env python
import os
with open("/home/xieerqi/dirList.txt") as file:
for line in file:
for directory in line.strip().rsplit(','):
path = '/home/xieerqi/testdir/' + directory
os.makedirs(path)
man mkdir
....