次の内容を含むファイルがあります。
/appl/as/var/spool/ears/mps/ear1.ear
...
ear1.ear
onlyの名前を変更したいのですが、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
。