这个脚本将所有的doc文件移动到指定的目录....我已设法放置一个参数,但我面临的问题是放置脚本移动到的完整路径,例如我想运行脚本像这个在下面
./loo -d then path where im moving the files (i.e ./loo -d the second argument where files are moving to)
这是我的代码
#!/bin/bash
From="/home/elg19/lone/doc"
To="/home/elg19/documents"
if [ $1 = -d ]; then
cd "$From"
for i in pdf txt doc; do
find . -type f -name "*.${i}" -exec mv "{}" "$To" \;
done
fi
答案 0 :(得分:1)
不确定究竟是什么问题?
如果"
包含空格,是否需要将./loo -d "full path with spaces"
放在完整路径周围?
{{1}}
与$ 1类似,可以使用$ 2检索完整路径。
答案 1 :(得分:0)
怎么样?
#!/bin/bash
from=/home/elg19/lone/doc
if [[ $1 = -d ]]; then
to=$2
else
to=/home/elg19/documents
fi
find "$from" -type f \( -name '*.pdf' -o -name '*.txt' -o -name '*.doc' \) -exec bash -c 'dest=$1; shift; mv "$@" "$dest"' _ "$to" {} +