shell bash用于sed删除字符串中的值的公式

rqqzpn5f  于 2023-08-07  发布在  Shell
关注(0)|答案(2)|浏览(102)

我需要sed公式,因为我有很多文件,里面有很多字符串,我必须删除字符串中间的10个字符,然后去其他字符串

primi-ordini-per-te-apri-questo-annuncio-leggilo-bene-chiamami-infernetto-it1a1fx8m/index.html" target="_self" ref="title">>redincontri<

字符串
我需要sed的公式来删除-it???????
我使用grep|将字符串传递给sed,然后传递给> print file
我用这个公式试过sed

|  sed "s/-it*//"


但没有结果
我有mac osx与brew和xcode安装更新
谢了

eblbsuwk

eblbsuwk1#

使用任何sed:

$ echo 'primi-ordini-per-te-apri-questo-annuncio-leggilo-bene-chiamami-infernetto-it1a1fx8m/index.html" target="_self" ref="title">>redincontri<' |
    sed 's:-it[^/]*::'
primi-ordini-per-te-apri-questo-annuncio-leggilo-bene-chiamami-infernetto/index.html" target="_self" ref="title">>redincontri<

字符串

bbmckpt7

bbmckpt72#

要删除从-it开始的十个字符,命令应该是:

| sed 's/-it.\{7\}//'

字符串
这与-it匹配,然后与.的7次重复匹配。
.匹配任何单个字符。
\{7\}是一个区间说明符。请参阅POSIX正则表达式规范中的BREs匹配多个字符的第5节。
在您的问题中显示的命令中,-it*匹配-i,后跟零个或多个t。请注意,这不会给予“没有结果”,它会给出错误的结果。

相关问题