繁体   English   中英

这个sed命令是什么意思?

[英]What's the meaning of this sed command?

有人可以帮我这个bash命令吗:

sed -i "s/\$CORPUS_DATA/$CORPUS_DATA/g" conf/*.xml

这是什么意思?

它将文件中文 “ $ CORPUS_DATA”的值替换为环境变量$CORPUS_DATA的实际值。

测试一下:

$ CORPUS_DATA=hello
$ echo '$CORPUS_DATA'
$ $CORPUS_DATA
$ echo '$CORPUS_DATA' | sed "s/\$CORPUS_DATA/$CORPUS_DATA/g"
hello

请注意,第一部分转义了$符号,因此正则表达式将字面匹配文本“ $ CORPUS_DATA”。 第二部分则没有,这意味着它将采用env变量的

以下是代码的说明。

sed -i "s/\$CORPUS_DATA/$CORPUS_DATA/g" conf/*.xml

-i用于将输出保存到Input_file本身。

s使用替代选项改变\\$CORPUS_DATA与shell变量$CORPUS_DATA值。

g表示对当前行中的所有事件进行更改。

conf/*.xml遍历conf目录中的所有xml文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM