![10 найкращих смартфонів Android Go, які ви можете придбати в 2019 році](/f/e5773effc764715d9855687a045d5717.jpg?width=100&height=100)
Xargs є чудовою командою, яка зчитує потоки даних зі стандартного введення, потім генерує та виконує командні рядки; це означає, що він може приймати результат команди і передавати її як аргумент іншої команди. Якщо команда не вказана, xargs виконує echo за замовчуванням. Багато з вас також вказують йому читати дані з файлу замість stdin.
Існує кілька способів xargs корисний при щоденному використанні командного рядка. У цій статті ми пояснимо 12 практичних прикладів команд xargs Linux для початківців.
1. Перший приклад показує, як дізнатися все .png
зображення та архівуйте їх за допомогою tar utility наступним чином.
Тут команда дій -друк0
дає змогу надрукувати повний шлях до файлу на стандартному виводі, після чого слідує нульовий символ та -0
Прапор xargs ефективно справляється з простором у іменах файлів.
$ find Pictures/ tecmint/ -name "*.png" -тип f -print0 | xargs -0 tar -cvzf images.tar.gz.
2. Ви також можете конвертувати мультилінійний вихід з ls команда в один рядок за допомогою xargs наступним чином.
$ ls -1 Зображення/tecmint/ $ ls -1 Зображення/ tecmint/ | xargs.
3. Щоб створити компактний список усіх облікових записів користувачів Linux у системі, скористайтеся такою командою.
$ cut -d: -f1 < /etc /passwd | сортувати | xargs.
4. Припустимо, що у вас є список файлів, і ви хочете знати їх кількість рядки/слова/символи у кожному файлі зі списку можна використовувати ls команда та xargs для цієї мети наступним чином.
$ ls * завантажити * | xargs wc.
5. Xarags також дозволяє вам знаходити та рекурсивно видаляти каталог, наприклад, наступна команда видалить рекурсивно DomTerm у каталозі Завантаження.
$ знайти Завантаження -ім'я "DomTerm" -тип d -принт0 | xargs -0 /bin /rm -v -rf "{}"
6. Як і в попередній команді, ви також можете знайти всі файли з назвою net_stats у поточному каталозі та видалити їх.
$ знайти. -ім'я "net_stats" -тип f -print0 | xargs -0 /bin /rm -v -rf "{}"
7. Далі використовуйте xargs копіювати файл одночасно в декілька каталогів; у цьому прикладі ми намагаємося скопіювати файл.
$ echo ./Templates/ ./Documents/ | xargs -n 1 cp -v ./ Завантажити/SIC_Template.xlsx
8. Ви також можете використовувати знайти команду, xargs та перейменувати команди разом для перейменування всіх файлів або підкаталогів у певному каталозі в нижній регістр наступним чином.
$ знайти Documnets -глибина | xargs -n 1 перейменувати -v 's /(.*)\/([^\/]*)/$ 1 \/\ L $ 2/' {} \;
9. Ось ще один корисний приклад використання для xargs, він показує, як видалити всі файли в каталозі, крім одного або кількох файлів із заданим розширенням.
$ знайти. -тип f -не -ім'я '*gz' -принт0 | xargs -0 -I {} rm -v {}
10. Як згадувалося раніше, ви можете проінструктувати xargs читати елементи з файлу замість стандартного введення за допомогою -а
прапор, як показано.
$ xargs -a rss_links.txt.
11. Ви можете включити багатослівність за допомогою -t
прапор, який повідомляє xargs надрукувати командний рядок на стандартному виводі помилки перед його виконанням.
$ знайти Завантаження -ім'я "DomTerm" -тип d -принт0 | xargs -0 -t /bin /rm -rf "{}"
12. За замовчуванням, xargs завершує/розмежовує елементи, використовуючи пробіли, ви можете використовувати -d
прапорець, щоб встановити роздільник, який може бути одним символом, символ у стилі С, який є екраном, наприклад \ n
, або вісімковий або шістнадцятковий код виходу.
Крім того, ви також можете запитати користувача про те, чи потрібно запускати кожен командний рядок і читати рядок з терміналу, використовуючи -стор
прапор, як показано (просто введіть y
за так або n
за ні).
$ echo ./Templates/ ./Documents/ | xargs -p -n 1 cp -v./Завантажити/SIC_Template.xlsx
Для отримання додаткової інформації прочитайте xargs man page.
$ man xargs
Ось це поки що! Xargs є потужною утилітою для створення командного рядка; це може допомогти вам передати результат однієї команди як аргумент іншої команди для обробки. У цій статті ми пояснили 12 практичних прикладів команд xargs для початківців. Поділіться з нами своїми думками чи питаннями через форму зворотного зв'язку нижче.