重命名文件扩展名在 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"' {} \;
我有两个问题:
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"' {} \;