ディレクトリ名のコンマ区切りリストが必要ですか?それができます。
シェル+ coreutils
誰もがonelinersを投稿しているので、ここにも私のものがあります(mkdir +パラメータ置換+シェルリダイレクト)。
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()
、デフォルトのshellを呼び出し、括弧(文字列でなければなりません)で囲まれたcommand [s]を実行する非常に素晴らしい機能を備えています。
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)
こともできますが、名前にスペースを含むディレクトリを作成する場合は問題になる可能性があります
Python
Pythonで同じことを行う方法は、各行を読み取り、末尾を取り除き、\n
すべてを1つのリストに押し込み、リストアイテムを反復処理し、リストアイテムごとにdirsを作成することです。以下の例で/home/xieerqi/dirList.txt
は、私のファイルに与えられたフルパスで/home/username/
あり、文字列とリストから読み取られたディレクトリ名を結合することにより、各新しいディレクトリのフルパスを作成することに注意してください。必要に応じて独自の値に置き換えます
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
....