我在foo.txt
如果我这样做cat get.txt
,我就会关注
SCALARS md.100 int
我想删除.100
和md
之间的int
,并输出为
SCALARS md int
如何更改它?
我尝试过sed "s/md.*int //g" get.txt
什么都不会改变。我将其作为输出
SCALARS md.100 int
有人能解释为什么它不起作用吗?什么是最好的方法?
答案 0 :(得分:2)
sed 's/md\..* int/md int/' get.txt
它将md.
,任何字符(.*
)和int
(带有前导空格)替换为md int
。
答案 1 :(得分:0)
您的sed表达式比您想要的更匹配。另外,如果要写入其他文件,则需要提供要解析的文件,然后将输出通过管道传输到另一个文件。以下应该起作用:
sed -e 's/\.100//g' foo.txt > bar.txt
将删除“ .100”并写入新编辑的文件“ bar.txt”,而保持“ foo.txt”不变。