0
我有一個文件全是文件名和目錄名。 實施例:bash/linux - 從文件中的字符串touch/mkdir
DIR,/mnt/sdcard/mydir1/
DIR,/mnt/sdcard/mydir2/
DIR,/mnt/sdcard/mydir3/
FILE,/mnt/sdcard/mydir1/file1.txt
FILE,/mnt/sdcard/mydir2/file1.txt
FILE,/mnt/sdcard/mydir3/file1.txt
與目錄和文件名的總周圍30.000條目。 我需要在指定的文件夾內創建所有的目錄,子目錄和文件(空的)。我也想跳過所有已經存在的目錄/文件!
目前我有這個,但我希望有一個更好的辦法,因爲這是非常緩慢的 並消耗大量的CPU:
#!/bin/bash
cd /home/mydir/dummydir/
for file in *.tree.txt; do
MEMBER=$(echo $file | cut -d '.' -f1)
DIRECTORY=/home/mydir/dummydir/$MEMBER
while read line
do
if [[ $line == FILE,* ]]
then
CUTOFFILE=$(echo "$line" | cut -c 6-)
touch "$DIRECTORY$CUTOFFILE"
else
CUTOFFDIR=$(echo "$line" | cut -c 5-)
if [[ ! -d "$DIRECTORY$line" && $line == DIR,* ]]; then
mkdir -p "$DIRECTORY$CUTOFFDIR"
fi
fi
done < $file
done
這是非常有用的信息。小巧,高效,簡單。我希望能夠提高創建文件和文件夾的速度,這就是我運行「時間」來比較它們時得到的結果; ./create_tree2.sh =真實0m29.650s ./create_tree.sh =真實1m15.243s ...帽子關了,你真的幫了我:) – ole
順便說一句,會暫停與CPU負載的幫助? – ole