GNU/Linux >> Znalost Linux >  >> Linux

Jak mohu upravit všechny soubory vrácené funkcí find in vi v systému Linux?

Tohle by mělo stačit:

find . -name "*.txt" -exec vim {} + 

Používejte Vim, je to lepší pro vaše zdraví. :-)

Často přehlížený + možnost -exec zobrazí všechny názvy souborů (až do omezení délky řádku) na jednom řádku, tj. stále budete mít všechny soubory otevřené v jednom vim relace (navigováno pomocí :n pro další a :N pro předchozí soubor).

S vim -p získáte kartu souboru pro každý soubor. Zkontrolujte :help tab-page-commands pro více podrobností.

S vim -o získáte horizontálně rozdělená okna pro každý soubor, vim -O vertikálně dělená okna. Zkontrolujte :help window-move-cursor Více podrobností.

Všimněte si, že předchozí verze této odpovědi, vim $(find . -name "*.txt") , nepracuje s mezerami v názvech souborů a má bezpečnostní důsledky.

Potrubí do xargs vi dává Warning: Input is not from a terminal , plus terminál se zcela falešným chováním poté. Uživatel grawity vysvětlil proč v komentáři níže a trochu více vysvětlení v této otázce.


Nebo spusťte vim a odtud:

:args **/*.txt

Linux
  1. Jak používat Linuxový příkaz find k hledání souborů

  2. Jak mohu upravit soubor, pokud neexistuje vi, vim, joe atd.?

  3. Jak mohu upravit více souborů ve VIM?

  1. Jak najít všechny řídké soubory v Linuxu

  2. Jak najdu všechny odlišné přípony souborů v hierarchii složek?

  3. Jak najdu hlavičkové soubory programovacího jazyka C v Linuxu?

  1. Jak najít soubor v Linuxu ve všech adresářích rekurzivně

  2. Jak najdu všechny pevné odkazy na souborovém systému?

  3. Jak vypsat všechny soubory oddílu na linuxu?