GNU/Linux >> Znalost Linux >  >> Linux

11 Příklady příkazů Xargs v Linuxu

xargs je příkaz v UNIXu jako System, který čte položky ze standardního vstupu oddělený mezerami (které lze chránit dvojitými nebo jednoduchými uvozovkami nebo zpětným lomítkem) nebo novými řádky a provede příkaz (výchozí je /bin/echo) jednou nebo vícekrát s libovolnými počátečními argumenty následovanými položkami načtenými ze standardního vstupu. Prázdné řádky na standardním vstupu jsou ignorovány.

příkaz xargs je velmi praktický v kombinaci sjinými příkazy. Ve výchozím nastavení očekává vstup od STDIN .xargs se v podstatě používá k vylepšení výstupu počátečního příkazu a využití výstupu k prováděníčetných operací .

V tomto příspěvku probereme 11 praktických příkladů příkazu linux xargs

Příklad:1 Základní použití xargs

Zadejte xargs , bude od nás očekávat vstup, začněte psát s enterem na dalším řádku a poté stiskněte ctrl+d abyste viděli výstup, jak je uvedeno níže.

[email protected]:~$ xargs
hello
john
this is me ( ctrl+d)
hello john this is me
[email protected]:~$home/Downloads#

Příklad:2 Použití oddělovačů v xargs (-d)

Zde určíme oddělovač pomocí volby -d , s \n jako oddělovač. Když stiskneme ctrl+d

, odešle řetězec zpět na obrazovku
[[email protected] ~]# xargs -d\n
Hi
Welcome here
Now press Ctrl+D
Hi
Welcome here
Now press Ctrl+D

[[email protected] ~]#

Příklad:3 Omezení výstupu na řádek (-n)

Můžeme omezit výstup podle požadavku pomocí volby -n v příkazu xargs, například pro zobrazení pouze 2 položek na řádek,

[email protected]:~$ echo a1 b2 c3 d4 e45
a1 b2 c3 d4 e5
[email protected]:~$ echo a1 b2 c3 d4 e5 | xargs -n 2
a1 b2
c3 d4
e5
[email protected]:~$

Příklad:4 Povolit výzvu uživatele před spuštěním (-p)

Pomocí možnosti -p v příkazu xargs bude uživatel před provedením vyzván y (znamená ano) a n (znamená ne) možnosti.

[email protected]:~$ echo a1 b2 c3 d4 e5 | xargs -p -n 2
/echo a1 b2 ?...y
a1 b2
echo c3 d4 ?...y
c3 d4
echo e5 ?...n
[email protected]:~$ 
[email protected]:~$ echo a1 b2 c3 d4 e5 | xargs -p -n 2
/echo a1 b2 ?...y
a1 b2
echo c3 d4 ?...y
c3 d4
echo e5 ?...y
e5
[email protected]:~$

Příklad:5 Mazání souborů pomocí find a xargs

Předpokládejme, že chceme odstranit soubory *.txt ze složky /tmp, spusťte následující příkaz

[email protected]:~$ find /tmp  -type f -name '*.txt' | xargs rm

Poznámka: Vždy se doporučuje použít výše uvedenou kombinaci příkazu find a xargs k odstranění 1000+ souborů, protože to zabere méně času a méně prostředků systému.

Příklad:6 Pro vyhledávání použijte příkaz Xargs a grep 

můžeme použít příkaz grep s xargs k filtrování konkrétního hledání z výsledku příkazu find. Příklad je uveden níže:

[email protected]:~$ find . -name "stamp" | xargs grep "country"
country_name
[email protected]:~$

Příklad:7 Zacházení s mezerou v názvech souborů

xargs si také poradí s mezerami v souborech pomocí print0 axargs -0 argumenty pro příkaz find.

[email protected]:~$ find /tmp -name "*.txt" -print0 | xargs -0 ls
/tmp/abcd asd.txt /tmp/asdasd asdasd.txt /tmp/cdef.txt

[email protected]:~$ find /tmp -name "*.txt" -print0 | xargs -0 rm
[email protected]:~$

Příklad:8 Použití xargs s příkazem cut

Pro ukázku nejprve vytvořte cars.txt s níže uvedeným obsahem:

[email protected]:~$ cat cars.txt
Hundai,Santro
Honda,Mobilio
Maruti,Ertiga
Skoda,Fabia

Zobrazení dat v prvním sloupci jak je uvedeno níže.

[email protected]:~$ cut -d, -f1 cars.txt | sort | xargs
Honda Hundai Maruti Skoda
[email protected]:~$

Příklad:9 Spočítejte počet řádků v každém souboru

[email protected]:~$ ls -1 *.txt | xargs wc -l
4 cars.txt
13 trucks.txt
17 total
[email protected]:~$

Příklad:10 Přesunutí souborů do jiného umístění

[email protected]:~$ pwd
/home/linuxtechi
[email protected]:~$ ls -l *.sh
-rw-rw-r-- 1 linuxtechi linuxtechi 0 Sep 15 22:53 abcde.sh
-rw-rw-r-- 1 linuxtechi linuxtechi 0 Sep 15 22:53 abcd.sh
-rw-rw-r-- 1 linuxtechi linuxtechi 0 Sep 15 22:53 fg.sh

[email protected]:~$ sudo find . -name "*.sh" -print0 | xargs -0 -I {} mv {} backup/
[email protected]:~$ ls -ltr backup/
total 0
-rw-rw-r-- 1 linuxtechi linuxtechi 0 Sep 15 22:53 abcd.sh
-rw-rw-r-- 1 linuxtechi linuxtechi 0 Sep 15 22:53 abcde.sh
-rw-rw-r-- 1 linuxtechi linuxtechi 0 Sep 15 22:53 fg.sh
[email protected]:~$

Příklad:11 Nahraďte řetězec v příkazu Xargs (-i)

Pokud spustíme níže uvedený příkaz, vytvoří se tři soubory a, b &c  v aktuálním pracovním adresáři

[email protected]:~$ printf "a\nb\nc\n" | xargs touch

Pokud chcete vytvořit a.txt, b.txt a c.txt, použijte parametr -i v příkazu xargs, nahradí řetězec ‘a s a.txt a tak dále

[email protected]:~$ printf "a\nb\nc\n" | xargs -i touch {}.txt

To je vše z tohoto článku, doufám, že tyto příklady příkazů xargs jsou pro vás informativní. Neváhejte se podělit o své názory a komentáře.


Linux
  1. 7 Příklady příkazů Linux df

  2. 8 Příklady příkazů Linux TR

  3. Příklady příkazů rm v Linuxu

  1. Příklady příkazů ps v Linuxu

  2. sa Příklady příkazů v Linuxu

  3. w Příklady příkazů v Linuxu

  1. Příklady příkazů ac v Linuxu

  2. Příklady příkazů df v Linuxu

  3. du příklady příkazů v Linuxu