Jadi Anda ingin daftar nama direktori yang dipisahkan koma? Itu bisa dilakukan.
Shell + coreutils
Karena semua orang memposting oneliners, ini milik saya juga (mkdir + substitusi parameter plus + redirection 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 adalah bahasa pemrosesan teks, tetapi memiliki system()fungsi yang sangat bagus yang akan memanggil shell default, dan menjalankan perintah [s] yang dilampirkan dalam tanda kurung (yang harus berupa string).
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
Atau Anda bisa menghapus ,dengan gsub()fungsi, dan memanggil system("mkdir "$0)tetapi itu mungkin menjadi masalah jika Anda ingin membuat direktori dengan spasi di namanya
Python
Cara Pythonic melakukan hal yang sama, akan membaca setiap baris, menyingkirkan tertinggal \n, mendorong semuanya menjadi satu daftar, dan beralih ke item daftar dan buat dirs per item daftar. Perhatikan bahwa pada contoh di bawah, /home/xieerqi/dirList.txtadalah path lengkap yang diberikan ke file saya, dan kami membuat path lengkap dari setiap direktori baru dengan menggabungkan string /home/username/dan nama dir dibaca dari daftar. Ganti nilai-nilai Anda sendiri seperlunya
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....