0

我有一个包含一些关键字的文件,我打算使用 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
4

2 回答 2

0

你在这里出错了,你也在这里出错了。

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"
于 2013-07-09T08:20:10.200 回答
0

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

您可以通过使用标志来放松这一点,-p如果需要,它将创建父目录(在示例中,它可能会创建/fooand /foo/bar)。

您还应该使用引号,以防您的路径包含空格。

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

最后,确保您实际上被允许在$path

于 2013-07-09T08:24:31.847 回答