我想在文件中找到表达式的右侧,并使用sed
. ,grep
我们看到
$ grep power TheFile
power = 1
另外cut
,我可以访问该值
$ grep power TheFile | cut -d = -f 2
1
但是,我不知道如何使用sed
命令进行管道传输。有什么想法可以实现吗?
我想在文件中找到表达式的右侧,并使用sed
. ,grep
我们看到
$ grep power TheFile
power = 1
另外cut
,我可以访问该值
$ grep power TheFile | cut -d = -f 2
1
但是,我不知道如何使用sed
命令进行管道传输。有什么想法可以实现吗?
怎么样:
/^power /
是一个地址说明符,在这种情况下寻找与正则表达式匹配的行^power
。s
是一个替换命令,匹配一个正则表达式,即=
.请注意,不需要管道传输文件的内容;您可以将其(或文件列表)指定为命令参数。如果您想/需要将某些东西输入
sed
.,这很容易 - 只需| sed ..
.如果紧跟在初始单词(例如
power
)之后的空格可能是制表符,请[[:blank:]]
改用。某些版本sed
允许您使用\t
明确的制表符。要找到以
TheFile
单词开头的行,power
后跟一定数量的空格和等号,并将等号之后的内容替换为something
:[[:blank:]]*
匹配零个或多个空格或制表符。这会保留=
.\1
替换文本中的 将插入与第一个括号匹配的字符串部分。要使用例如 GNU 进行更改
sed
,请添加-i
标志,否则,将输出重定向到新文件。测试它: