重命名文件扩展名在 unix 上不起作用

rename of file extension doesnt work unix

我有两个问题:

1)

我正在使用如下代码使用重命名功能创建日志文件: 我有一个文件名。如果出现错误,我需要创建一个带有错误的日志文件。

假设 $fileName 是 "test.tmp":

echo ' l_error_msg' >> $UPLOAD/output/$fileName.err

这将创建一个名为 "test.tmp.err" 的文件。

因此我尝试了以下方法来创建文件 "test.err":

echo ' l_error_msg' >> $UPLOAD/output/${$fileName%.*}.err

但这不起作用。

2) 我正在使用以下两个步骤移动和重命名。我怎样才能有效地结合并做到这一点?

mv -f $UPLOAD/input/* $UPLOAD/output
mv -f $UPLOAD/output/* ${$fileName%.*}.err

注意:任何时候输入文件夹中都只有一个文件。

修改您的代码如下。

Q 1) 创建文件"test.err":

echo ' l_error_msg' >> $UPLOAD/output/${fileName%.*}.err

Q 2) 重命名文件

mv -f $UPLOAD/input/* $UPLOAD/output/${fileName%.*}.err

我用这个命令重命名文件扩展名文件:

$ sudo find . -name '*.EXTENSION_OLD' -exec sh -c 'mv "[=10=]" "${0%.EXTENSION_OLD}.EXTENSION_NEW"' {} \;