Sie möchten also eine durch Kommas getrennte Liste von Verzeichnisnamen? Das kann man machen.
Shell + Coreutils
Da alle Oneliner posten, ist hier auch meins (mkdir + Parametersubstitution plus + Shell-Umleitung).
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 ist eine Textverarbeitungssprache, hat jedoch eine sehr schöne system()
Funktion, die die Standard-Shell aufruft und die in Klammern gesetzten Befehle ausführt (dies muss eine Zeichenfolge sein).
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
Oder Sie könnten ,
mit gsub()
function entfernen und aufrufen, system("mkdir "$0)
aber das kann ein Problem sein, wenn Sie Verzeichnisse mit Leerzeichen im Namen erstellen möchten
Python
Eine pythonische Methode wäre, jede Zeile zu lesen, das Nachziehen zu \n
beenden, alles in eine Liste zu verschieben und die Listenelemente zu durchlaufen und Verzeichnisse pro Listenelement zu erstellen. Beachten Sie, dass im folgenden Beispiel /home/xieerqi/dirList.txt
der vollständige Pfad zu meiner Datei angegeben ist. Der vollständige Pfad jedes neuen Verzeichnisses wird durch Verknüpfen der Zeichenfolge /home/username/
und des aus der Liste gelesenen Verzeichnisnamens gebildet. Ersetzen Sie Ihre eigenen Werte nach Bedarf
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
....