GNU/Linux >> Znalost Linux >  >> Linux

Odstranění souborů pomocí rm pomocí find a xargs

Máte nastavený alias pro příkaz rm na 'rm -i'. Pokud tedy vyvoláte příkaz přímo jako v

rm file.txt

nebo

rm *.txt

alias se rozšíří. Pokud to budete volat pomocí xargs jako v

find . -type f -name '*.txt' | xargs rm

Rm je předán jako jednoduchý řetězcový argument xargs a je později vyvolán xargs bez substituce aliasu shellu. Váš alias je pravděpodobně definován v ~/.bashrc, pro případ, že jej chcete odstranit.


můžete použít tento jednoduchý příkaz k vyřešení vašeho problému

find . -type f -name '*.txt' -delete

V závislosti na vaší verzi xargs můžete mít k dispozici možnost rozšíření --no-run-if-empty GNU:

find . -type f -name '*.txt' | xargs  --no-run-if-empty  rm -rf

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

  2. Jak přejmenovat více souborů pomocí funkce Najít?

  3. najít a odstranit soubory s mezerou pomocí příkazu find v Linuxu

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

  2. Jak najít soubory s oprávněními SUID a SGID v Linuxu

  3. Použití linuxového příkazu find – Použití s ​​příklady

  1. Jak najít velké soubory linux pomocí příkazů find a du

  2. Najděte a zkopírujte soubory

  3. Najít soubory a rozbalit je (s mezerami)