GNU/Linux >> Znalost Linux >  >> Linux

Jak mohu použít xargs ke kopírování souborů, které mají v názvech mezery a uvozovky?

find . -print0 | grep --null 'FooBar' | xargs -0 ...

Nevím, zda grep podporuje --null , ani zda xargs podporuje -0 , na Leopardovi, ale na GNU je to všechno dobré.


To vše můžete spojit do jednoho find příkaz:

find . -iname "*foobar*" -exec cp -- "{}" ~/foo/bar \;

To bude zpracovávat názvy souborů a adresáře s mezerami. Můžete použít -name abyste získali výsledky rozlišující malá a velká písmena.

Poznámka:-- příznak předán cp zabrání zpracování souborů začínajících - jako možnosti.


Linux
  1. SSHFS? Co to je a jak to mohu použít?

  2. Jak pomocí WC a potrubí zjistit, kolik souborů a adresářů je v určitém adresáři?

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

  1. Jak mohu v Linuxu vygenerovat seznam souborů s jejich absolutní cestou?

  2. Jak najdu soubory, které mají pouze určitá oprávnění pro vlastníka?

  3. Jak prohledám adresáře a najdu soubory, které odpovídají regulárnímu výrazu?

  1. Jak mohu rekurzivně kopírovat soubory podle přípony souboru a zachovat adresářovou strukturu?

  2. Jak najdu soubory a součet jejich velikostí?

  3. Jak mohu rekurzivně bzip2 všechny soubory, které nejsou bzipovány?