GNU/Linux >> Znalost Linux >  >> Linux

Jak přenést výsledky 'najít' do mv v Linuxu

xargs se k tomu běžně používá a mv v systému Linux má -t možnost, jak to usnadnit.

find ./ -name '*article*' | xargs mv -t ../backup

Pokud je vaše find podporuje -exec ... \+ můžete ekvivalentně udělat

find ./ -name '*article*' -exec mv -t ../backup {}  \+

-t volba je rozšíření GNU, takže není přenosná na systémy, které nemají GNU coreutils (ačkoli každý správný Linux, který jsem viděl, to má, snad s výjimkou Busyboxu). Pro úplnou přenositelnost POSIX je samozřejmě možné vytvořit vlastní náhradu, možná něco jako

find ./ -name '*article*' -exec sh -c 'mv "[email protected]" "$0"' ../backup {} \+

kde bezostyšně zneužíváme výhodný fakt, že první argument po sh -c 'commands' skončí jako parametr "název skriptu" v $0 takže ani nepotřebujeme shift to.

Pravděpodobně viz také https://mywiki.wooledge.org/BashFAQ/020


find ./ -name '*article*' -exec mv {}  ../backup  \;

NEBO

find ./ -name '*article*' | xargs -I '{}' mv {} ../backup

Linux
  1. Linux:Jak najít ovladač zařízení používaný pro zařízení?

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

  3. Je možné přenést výsledky FIND do příkazu COPY CP?

  1. Jak najít nejstarší soubor ve stromu adresářů v Linuxu

  2. Jak zjistit, zda je disk SSD nebo HDD v Linuxu

  3. Jak zjistit IP adresu brány v Linuxu

  1. Jak najít soubory v Linuxu

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

  3. Jak zjistit velikost vyrovnávací paměti soketu linuxu