logo

Команда xargs у Linux із прикладами

xargs — це команда Unix, яку можна використовувати для створення та виконання команд із стандартного введення.

Важливість:

Деякі команди, такі як grep, можуть приймати вхідні дані як параметри, але деякі команди приймають аргументи, це те місце, де xargs з’явилися.



Синтаксис команди `xargs` в Linux

xargs [options] [command]>

Параметри, доступні в команді `xargs` в Linux

Опції

опис

-0

елементи введення завершуються нульовим символом замість пробілів

-файл

читати елементи з файлу замість стандартного введення

– роздільник = розділити

елементи введення завершуються спеціальним символом

-E eof-str

встановити кінець рядка файлу на eof-str

-заміняю-вул

замінити випадки replace-str у початкових аргументах іменами, зчитаними зі стандартного введення

-L max-рядків

використовуйте щонайбільше максимальну кількість рядків непорожніх рядків введення на командний рядок.

-стор

запитувати користувача про те, чи запускати кожен командний рядок і читати рядок із терміналу.

Якщо стандартний ввід не містить непробілів, не запускайте команду

-x

вихід, якщо розмір перевищено.

– допомога

надрукувати підсумок параметрів у xargs і вийти

– версія

надрукувати номер версії. xargs і вихід

приклад:

приклад xargs

Нижче наведено програму на С, яка читає текстовий файл test.txt, а потім використовує вихідні дані цієї програми як вхідні дані для команди дотику. вміст текстового файлу test.txt

file1 file2 file3 file4>

C




// C program to read contents of file> #include> // Driver Code> int> main(){> >int> c;> >FILE> *file;> >// open file test.txt> >file =>fopen>('test.txt', 'r');> >if> (file) {> >// read file line-by-line until> >// end of file> >while> ((c =>getc>(file)) != EOF)> >putchar>(c);> >fclose>(file);> >}> >return> 0;> }>

>

>

Вихід:

file1 file2 file3 file4>

Тепер скористайтеся виводом ./a.out як вхід для сенсорної команди

приклад xargs із дотиком

Використання команди з параметрами:

  xargs --version>

Друкує номер версії команди xargs і виходить.

Вихід:

змінити назву каталогу linux
xargs (GNU findutils) 4.7.0-git Copyright (C) 2016 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later . This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.>
  xargs -a test.txt>

Він покаже вміст файлу

file1 file2 file3 file4>
  xargs -p -a test.txt>

Параметр -p запитує підтвердження перед запуском кожного командного рядка. Він запускає командний рядок, лише якщо відповідь починається з «y» або «Y». Вихід:

# xargs -p -a test.txt echo file1 file2 file3 file4 ?...y file1 file2 file3 file4 # xargs -p -a test.txt echo file1 file2 file3 file4 ?...n>
   xargs -r -a test.txt>

Тепер припустімо, що файл test.txt порожній, а наведена вище команда виконується, параметр -r гарантує, що якщо стандартний ввід порожній, команда не виконується, тому наведена вище команда не виведе жодних результатів, але якщо наведена вище команда буде виконана без опції -r він виведе порожній рядок. Перегляньте зображення нижче як приклад:

xargs з опцією -r