我是 Unix 的新手,我正在学习在自动化文件复制等方面运行脚本的强大功能。我帮助创建了初始脚本(信用到期:https://apple.stackexchange。 com/questions/101436/automate-duplicating-and-renaming-images/101437)但现在我想知道如何在复制文件时生成特定的目录名称。这是原始脚本:
#!/bin/bash
file=$1
prefixes=$2
filename=`basename "$file"`
while read line
do
cp $file "$line-$filename"
done < $prefixes
我基本上调用脚本,然后让位于同一目录中的文本文件中的前缀将一个字符串附加到所创建的新文件的开头。我想做的也是用原始文件名创建一个目录,这样我就可以将所有副本自动放在新文件夹中。我曾尝试过这样的事情:
#!/bin/bash
file=$1
prefixes=$2
filename=`basename "$file"`
while read line
do
mkdir $filename
cp $file "$filename/$line-$filename"
done < $prefixes
但这似乎不起作用。不过你会看到我的意图。我想要一个与原始文件同名的目录,然后将所有新图像复制到该目录中。我在 Mac OSX 上的终端中使用的命令是./copier.sh myimage.jpeg prefixes.txt
.
如果我只使用类似的东西,我已经获得了创建目录的脚本,mkdir test
但这不会有任何好处,因为每次运行脚本时我都必须进入并更改目录名称。
如果您有任何问题,请告诉我。如果我犯了一些重大错误,我很抱歉,我只是找不到解决方案。谢谢你的帮助!