Vì vậy, bạn muốn danh sách tên thư mục được phân tách bằng dấu phẩy? Điều đó có thể được thực hiện.
Vỏ + lõi
Vì tất cả mọi người đang đăng oneliners, đây cũng là của tôi (mkdir + thay thế tham số cộng với + chuyển hướng 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 là một ngôn ngữ xử lý văn bản, nhưng nó có system()
chức năng rất hay sẽ gọi shell mặc định và chạy lệnh [s] được đặt trong ngoặc đơn (phải là một chuỗi).
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
Hoặc bạn có thể xóa ,
bằng gsub()
hàm và gọi system("mkdir "$0)
nhưng đó có thể là vấn đề nếu bạn muốn tạo thư mục có khoảng trắng trong tên của chúng
Con trăn
Cách làm tương tự của Pythonic là đọc từng dòng, thoát khỏi dấu vết \n
, chuyển mọi thứ vào một danh sách và lặp lại các mục trong danh sách và tạo thư mục trên mỗi mục danh sách. Lưu ý rằng trong ví dụ dưới đây, /home/xieerqi/dirList.txt
là đường dẫn đầy đủ được cung cấp cho tệp của tôi và chúng tôi tạo thành đường dẫn đầy đủ của mỗi thư mục mới bằng cách nối chuỗi /home/username/
và tên thư mục đọc từ danh sách. Thay thế các giá trị của riêng bạn khi cần thiết
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
....