我有包含特殊字符的本地文件,例如方形和常规括号。
试图用SED替换部分文件名时,该文件名为
原始文件名看起来像这样:
-
ddatum - ffirma - bbetreff (wwer) [tags_][Beleg]_007246-1 copy.pdf
进行SED替换时,我得到的结果如下:
-
20161219 - ffirma - bbetreff (wwer) copy.pdf
另一个示例:
- 原始:
ddatum - ffirma - bbetreff (wwer) [tags_][Beleg]_007858.pdf
- 结果:
20161231 - ffirma - bbetreff (wwer)
我使用的sed命令是:
newName=`sed -e 's/ddatum/'$firstDate'/g' <<< "$f"`
$ firstdate包含简单的日期字符串。$ f包含原始文件名。
我想它必须执行字面角色。到目前为止,我的搜索尚未渲染任何有用的东西。感谢您的任何支持。
这将做到:
newName=`sed -e "s/ddatum/$firstDate/g" <<< "$f"`
示例:
$ f="ddatum - ffirma - bbetreff (wwer) [tags_][Beleg]_007246-1 copy.pdf"
$ firstDate="20161231"
$ newName=`sed -e "s/ddatum/$firstDate/g" <<< "$f"`
$ echo $newName
20161231 - ffirma - bbetreff (wwer) [tags_][Beleg]_007246-1 copy.pdf