我面临一个特定问题,我必须手动处理来自不同目录的多个文件。我想知道是否可以为已选择的文件动态创建目标文件夹。
答案1
执行此操作的脚本是没有你在 POSIX shell 中想象的那么简单,但在 bash 中很容易:
#!/bin/bash
mkdir -p "${@: -1}" || exit 1
mv "$@"
它使用 Bash-ism 来获取最后一个参数和mkdir
它。 mkdir 的选项-p
可以创建整个目录链,因此如果您尝试创建“dir/subdir”,它就会起作用。
答案2
可能重复的如果目录不存在,有没有办法让 mv 创建要移动到的目录?。
您可以使用 bash 脚本和别名来为此创建一个“新命令”。
cmv.sh
#!/bin/bash
mkdir --parents "$2"; mv "$1" "$_"
并~/.bashrc
添加以下行:
alias cmv="/path/to/cmv.sh"
然后你可以像这样使用它:
~# cmv **/*.zip destination
并且目的地将被创建。