GNU/Linux >> Znalost Linux >  >> Linux

Najít a nahradit sed v adresáři a podadresářích

Váš find by měl vypadat takto, aby se zabránilo odesílání názvů adresářů do sed :

find ./ -type f -exec sed -i -e 's/apple/orange/g' {} \;

Pro větší úlohy s&r je lepší a rychlejší použít grep a xargs, takže například;

grep -rl 'apples' /dir_to_search_under | xargs sed -i 's/apples/oranges/g'

Linux
  1. Použití příkazů Sed,ex a perl k vyhledání a nahrazení textu v Linuxu

  2. Odstraňte soubory a adresáře podle jejich jmen. Žádný takový soubor nebo adresář?

  3. Použití grep a sed k nalezení a nahrazení řetězce

  1. Najděte soubory a adresáře v Linuxu pomocí příkazu find

  2. Najděte a nahraďte text v souboru mezi rozsahy řádků pomocí sed

  3. Jak rekurzivně nahradit znaky sed?

  1. Nahradit find za fd v Linuxu

  2. Použití sed k nalezení a nahrazení textových souborů v Linuxu

  3. Najít a nahradit ve skriptování shellu