使用SED中的变量进行模式匹配

用户170008

考虑下面的代码:

pattern="*.some_pattern.*"
orignalLogFile='sample.log'
outputFile='1.txt'
temp='1.log'

# match the pattern and replace with a new line
sed 's/'$pattern'/\n/' $orignalLogFile > $temp

抛出一个

'sed:-e表达式#1,char 9:未终止的's'命令'

如何解决这个问题?

艾鲁瓦

您可能需要进行两次更正

*.在你的模式是没有意义的,所以

pattern=".*some_pattern.*"

另外,您需要将模式用双引号引起来,以防止其受到外壳扩展的影响

sed 's/'"$pattern"'/\n/' file

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

sed或awk,用于将模式与先前脚本中的变量进行匹配?

sed 使用美元符号进行环境变量和行尾模式匹配

使用包含模式的变量进行 Printf 模式匹配

如何使用“ sed”命令将匹配的模式保存到变量中?

从文件开始到使用sed的模式匹配行进行注释

NamedFieldPuns,使用变量名进行模式匹配

如何在匹配前后对模式进行 sed

使用sed从文件中删除与模式不匹配的行

使用 awk/sed 在与模式匹配的块中打印文本

使用GNU sed重用插入或附加行中的匹配模式

使用sed编辑匹配模式中的任何一种

使用Awk / Sed替换文件中匹配模式的值

Powershell - 与模式中的变量匹配

使用 OR 逻辑进行模式匹配

使用 awk 进行模式匹配

使用R中的grepl()函数进行模式匹配

Erlang中的模式匹配会引发变量未使用的警告

如何保持部分模式匹配并在BSD sed上使用它进行替换?

如何在不进行剪切的情况下在PROLOG中对匹配的包装变量进行模式匹配?

如何在PowerShell中查找变量并使用结果进行匹配?

在使用sed进行字符串匹配后,如何在变量后附加美元符号?

用sed进行大小写匹配模式替换

如何使用sed -i编辑变量模式?

使用sed在模式后插入变量

sed 忽略模式并匹配同一行中的模式

模式与Haskell中的函数进行匹配

在Perl中与数组进行模式匹配

Scala和变量中的模式匹配

如何匹配awk变量中给定的模式?