Bash:创建从文件中读取的子目录

时间:2013-07-09 08:14:28

标签: bash subdirectory

我有一个包含一些关键字的文件,我打算使用bash脚本将子目录创建到同一关键字的同一目录中。这是我正在使用的代码,但它似乎没有工作。 我不知道我哪里出错了。帮帮我

for i in `cat file.txt`
do
#        if [[ ! -e $path/$i ]]; then
            echo "creating" $i "directory"
            mkdir $path/$i
#       fi
            grep $i file >> $path/$i/output.txt
done
echo "created the files in "$path/$TEMP/output.txt

2 个答案:

答案 0 :(得分:0)

你错了here,而你错了here

while read i
do
  echo "Creating $i directory"
  mkdir "$path/$i"
  grep "$i" file >> "$path/$i"/output.txt
done < file.txt
echo "created the files in $path/$TEMP/output.txt"

答案 1 :(得分:0)

78 mkdir将拒绝创建目录(如果目录的某些部分不存在)。 例如如果没有/foo/bar目录,则mkdir /foo/bar/baz将失败。

你可以使用-p标志放松一下,如果需要,它会创建父目录(例如,它可能会创建/foo/foo/bar)。

如果你的路径包含空格,你也应该使用引号。

mkdir -p "${path}/${i}"

最后,请确保您实际上可以在$path

中创建目录