如何通过Shell脚本从文件中删除任何字符串?


9

我尝试从中删除字符串.bash_profile。我的shell脚本运行时添加了字符串:

我在bash_profile上的字符串如下:

# for Myapllication
export MYAPP_HOME=/opt/myapp

我想通过删除.bash_profilemyapp时从中删除字符串rpm

如何通过Shell脚本从文件中删除任何字符串?(或可能的替代方法)

Answers:


11

您可以使用sed (其他工具)从文本文件中删除字符串。

例如:

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

.bash_profile 包含字符串的每一行中删除myapp


10

像这样的文件~/.bash_profile位于用户的主目录中。这样的文件完全在用户的控制之下。像这样的全局代理命令rpm不应更改此类文件。

  • 通常,您有一个基本配置文件,该文件由rpm软件包提供。

  • 然后,您将拥有一个全局配置文件,root用户可以使用它来覆盖特定于给定系统的某些首选项。

  • 然后,您的主目录中就会有个人配置文件,您可以使用这些文件来根据个人喜好覆盖全局设置。

像这样的命令rpm应该只更改第一个,而不要更改后者。


您可以建议一个URL来检查该主题吗?
Gyhot

1
@ Gyhotunix.stackexchange.com/ questions/ 77518/…是一个很好的例子。如果目标发行版具有/etc/profile.d目录,请在其中放置包含该export行的文件。否则,您可以进行编辑/etc/profile,但是要非常小心,不要破坏系统管理员的自定义设置。
吉尔(Gilles)'所以


0

试试vim-way:

ex -s +"g/MYAPP_HOME/d" -cwq file.txt
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.