単語の終わりを別のものに置き換える

単語の終わりを別のものに置き換える

私はこれを持っています:

echo "walking ringer talking"

sedを使用して次の出力を取得するにはどうすればよいですか?

walked ringer talked

いくつかの方法を試しましたが、正しく動作しません。次のコマンドは私が試したものです。

echo "walking ringer talking" | sed 's/ing/ed/g'

この出力はwalked reder talked

echo "walking ringer talking" | sed 's/ing$/ed/g' 

この出力はwalking ringer talked

echo "walking ringer talking" | sed 's/^ing/ed/g;s/ing$/ed/g' 

この出力はwalking ringer talked

bashスクリプトでこれを実行しようとしています。

ベストアンサー1

パターンの末尾のスペースまたは改行文字を一致させるには、次のようにします。

sed -E 's/ing( |$)/ed\1/g'

おすすめ記事