sedを使用して最後の2つ[end]を削除しますか?

sedを使用して最後の2つ[end]を削除しますか?

「メニュー」を改善するためのスクリプトを作成していますが、スクリプトにはfluxbox次の行があります。

sed -i 's/\[end]//g' ~/.fluxbox/menu;sed -i '/^\s*$/d' ~/.fluxbox/menu

しかし、これは不幸な結果につながる可能性がありますみんな悪い点は、ファイルから最後の2つの項目[end]だけを削除したいと思います。[end]ではどうすればいいですか?

ベストアンサー1

最も簡単なのはおそらくperl'を使うことです。喫煙モデル:

perl -0777 -pi -e 's/(.*)\[end]/$1/s;s/(.*)\[end]/$1/s;s/^\s*\n//gm' ~/.fluxbox/menu

おすすめ記事