进行搜索/替换时,SED会删除一部分字符串



我有包含特殊字符的本地文件,例如方形和常规括号。

试图用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

最新更新