移动文件并添加文件名

时间:2018-06-29 06:11:24

标签: bash

我在使用Bash移动文件和添加到文件之前遇到困难。

#!/bin/bash
CAT="WFS_CAT"

for FILENAME in /foo/bar/20*
do
    mv "${FILENAME##*/}" "${CAT}.${FILENAME##*/}"
done;

该命令错误。它尝试移动完整的目录名称,并在其前面而不是单个文件之前。

1 个答案:

答案 0 :(得分:0)

在这种情况下,将目录更改为文件所在的目录应该更加简单,因为move命令仅重命名该目录中的文件。您介意这样做吗?

pushd /foo/bar

for FILENAME in 20*; do
    echo mv "${FILENAME}" "${CAT}.${FILENAME}"
done;

popd