最後の点の後の文字列をtxt文字列に置き換えます。

最後の点の後の文字列をtxt文字列に置き換えます。

最後の「。」後の文字列をtxtに置き換える方法

例えば

filter.bash
sum.sh
portG.py
run.doK.ksh

期待されるパフォーマンス

filter.txt
sum.txt
portG.txt
run.doK.txt

答え1

sed 's/[^.]*$/txt/'

または、1つ以上の行を含む行に対してのみこれを行います.myfileに変更しないtxt)。

sed 's/\.[^.]*$/.txt/'

また、次に.bashrc変更しないでください.txt

sed 's/\(..*\.\).*/\1txt/'

(今回は貪欲に頼って.*後半を交換します。最後 .)。

また、次にfoo.d/myfile変更しないでくださいfoo.txt

sed 's|\([^/]\.\)[^./]*$|\1txt|'

また、.txt拡張子のないファイルに拡張子を追加します(空白行で終わる行には触れずに.bashrc変更することも含まれます)。.bashrc.txt/

sed 's|\([^/]\)\.[^./]*$|\1|;s|[^/]$|&.txt|'

関連情報