シェルスクリプトを介してファイルから文字列を削除する方法は?

シェルスクリプトを介してファイルから文字列を削除する方法は?

私はそれから文字列を削除しようとしています.bash_profile。私のシェルスクリプトが実行されたら、次の文字列を追加します。

bash_profileの私の文字列は次のとおりです。

# for Myapllication
export MYAPP_HOME=/opt/myapp

.bash_profilemyappを削除して文字列を削除したいですrpm

シェルスクリプトを介してファイルから文字列を削除する方法は? (または可能な代替)

答え1

sed (他のツールもあります)を使用してテキストファイルから文字列を削除できます。

たとえば、

sed -i -e '/myapp/d' .bash_profile

.bash_profile 文字列を含むすべての行から削除しますmyapp

答え2

このようなファイルは~/.bash_profileユーザーのホームディレクトリにあります。これらのファイルは完全にユーザーの制御下にあります。このようにグローバルに実行されるコマンドは、rpmそのファイルを変更しないでください。

  • 通常、rpmパッケージによって提供されるデフォルトの設定ファイルがあります。

  • その後、ルートが特定のシステムに固有のいくつかの基本設定を上書きするために使用できるグローバル構成ファイルがあります。

  • その後、ホームディレクトリには、個人設定に基づいてグローバル設定を上書きするために使用できる個人設定ファイルがあります。

このようなコマンドはrpm最初のものだけを変更し、後者は変更しないでください。

答え3

sed -i '/^export MYAPP_HOME=\/opt\/myapp$/d' ~/.bash_profile

答え4

vimメソッドを試してください:

ex -s +"g/MYAPP_HOME/d" -cwq file.txt

関連情報