我有一个文件,其内容如下:
/appl/as/var/spool/ears/mps/ear1.ear
...
我想将 only 的名称替换ear1.ear
为ear2.ear
,并且我正在使用以下sed
命令,但没有运气:
sed -i.bak s/*.ear/ear2.ear/g earlist.mps
earlist.mps
文件名在哪里
我努力了:
sed -i.bak s/.*.ear/ear2.ear/g earlist.mps
但这会将整个文件替换为ear2.ear
.
答案1
和sed
:
sed 's|/[^/]\+\.ear$|/ear2.ear|' file
- 它搜索以
.ear
($
匹配行尾) 结尾的行。文件名可以是除/
:之外的任何名称[^/]\+
。表示+
一个字符(不是/
)可以重复 1 次或多次。 - 然后将匹配项替换为
/ear2.ear
。