Розглянемо цю команду:
ls /mydir/*.txt | xargs chown root
Наміром є заміна власників усіх текстових файлів у mydirroot
Проблема полягає в тому, що якщо у .txtфайлах немає файлів mydirxargs, помилка говорить про те, що шлях не вказаний. Це нешкідливий приклад, тому що помилка кидається, але в деяких випадках, як у сценарії, який мені потрібно тут використовувати, пустий шлях вважається поточним каталогом. Тож якщо я запускаю цю команду з /home/tom/тих пір, якщо немає результату для, ls /mydir/*.txtа всі файли під /home/tom/ними змінили власників на root.
Тож як я можу з xargs ігнорувати порожній результат?
git branch --merged | grep -v '^* ' | xargs git branch -d, який також не вдається при порожньому введенні
lsдля програмного використання; дивіться mywiki.wooledge.org/ParsingLs