Команда 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 і виходить.
Вихід:
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