따라서 쉼표로 구분 된 디렉토리 이름 목록을 원하십니까? 할 수 있습니다.
쉘 + coreutils
모두가 oneliners를 게시하고 있으므로 여기도 있습니다 (mkdir + parameter replacement plus + shell redirection).
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는 텍스트 처리 언어이지만 system()
기본 쉘을 호출하고 괄호 (문자열이어야 함)로 묶인 명령을 실행하는 매우 훌륭한 기능을 가지고 있습니다.
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
또는 당신은 제거 할 수 ,
와 gsub()
기능, 호출 system("mkdir "$0)
하지만 당신은 자신의 이름에 공백이있는 디렉토리를 만들려면이 문제가 될 수 있습니다
파이썬
파이썬 같은 방식으로 각 줄을 읽고, 후행을 제거하고 \n
, 모든 것을 하나의 목록으로 밀고, 목록 항목을 반복하고 목록 항목 당 dirs를 만드는 것입니다. 아래 예제에서, /home/xieerqi/dirList.txt
내 파일에 주어진 전체 경로이며, 우리는 문자열 /home/username/
과 목록에서 읽은 dir 이름 을 결합하여 각 새 디렉토리의 전체 경로를 구성 합니다. 필요에 따라 자신의 가치를 대체하십시오
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
....