GNU/Linux >> Znalost Linux >  >> Linux

Jak odstranit jakýkoli řetězec ze souboru pomocí skriptů shellu?

Řetězec z textového souboru můžete odstranit pomocí sed (existují další nástroje).

Například:

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

odstraní z .bash_profile každý řádek obsahující řetězec myapp .


Soubor jako ~/.bash_profile žije v domovském adresáři uživatele. Takový soubor je zcela pod kontrolou uživatele. Globální příkazy jako rpm nemají takové soubory měnit.

  • Obvykle máte základní konfigurační soubor, který je dodáván s balíčkem rpm.

  • Pak máte globální konfigurační soubor, který může root použít k přepsání některých předvoleb specifických pro daný systém.

  • Pak máte ve svém domovském adresáři osobní konfigurační soubory, které můžete použít k přepsání globálního nastavení svými osobními preferencemi.

Příkaz jako rpm měli změnit pouze první a nikdy neměnit to druhé.


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

Linux
  1. Jak nahradit řetězec v souboru (souborech)?

  2. Jak odstranit Bom ze souboru UTF-8?

  3. Jak spouštět skripty Pythonu ze shellu

  1. Jak odstranit řádky, které se objevují v souboru B, z jiného souboru A?

  2. Jak vytvořit soubor v Linuxu z okna terminálu?

  3. Jak odstranit soubor bez použití rm?

  1. Jak odstranit prázdné řádky ze souboru (včetně tabulátoru a mezer)?

  2. Jak odstranit „binární data“ z textového souboru (např. Bash_history)?

  3. jak upravit /etc/hosts ze skriptů shellu?