我在使用Bash移动文件和添加到文件之前遇到困难。
#!/bin/bash
CAT="WFS_CAT"
for FILENAME in /foo/bar/20*
do
mv "${FILENAME##*/}" "${CAT}.${FILENAME##*/}"
done;
该命令错误。它尝试移动完整的目录名称,并在其前面而不是单个文件之前。
答案 0 :(得分:0)
在这种情况下,将目录更改为文件所在的目录应该更加简单,因为move
命令仅重命名该目录中的文件。您介意这样做吗?
pushd /foo/bar
for FILENAME in 20*; do
echo mv "${FILENAME}" "${CAT}.${FILENAME}"
done;
popd