【发布时间】:2017-02-13 23:58:04
【问题描述】:
我有以下带有以下行的文本文件:
<test="123">
<test="456">
<test="789">
我的目标是让上面的文本文件在上面的数字后面附加一个关键字“HELLO”,如下所示:
<test="123.HELLO">
<test="456.HELLO">
<test="789.HELLO">
使用 grep 命令和剪切,我设法得到引号之间的值。
grep -o "test=".* test.txt | cut -d \" -f2
我尝试在它上面使用 sed,这条线
grep -o "test=".* test.txt | cut -d \" -f2 | sed -i -- 's/$/.HELLO/' test.txt
但是我设法得到的最接近的是直接附加在行尾的“.HELLO”(而不是在引号之间的数字之后)
<test="123">.HELLO
<test="456">.HELLO
<test="789">.HELLO
如何修复我的 sed 语句以向我提供请求的行?
【问题讨论】:
-
您能否澄清一下:1) 预期输出行前的空格是必需的,或者由于格式原因此处错误显示 2) 您的输入文件是否包含不包含
test=的行?如果是这样,它们是否也应该成为输出的一部分