Мне нужно "| xargs -n 1 ", чтобы обойти xargs -I побочный эффект?

Я был удивлен, увидев это:

$ echo 1 2 3 4 5 | xargs -n 1 echo 1 2 3 4 5 $ echo 1 2 3 4 5 | xargs -n 1 -I FOO echo FOO 1 2 3 4 5 

То есть, использование флага -I имеет этот побочный эффект:

Кроме того, некотируемые пробелы не прерывают входные элементы; вместо этого разделитель является символом новой строки.

Поэтому обходной путь, который я вижу, таков:

 $ echo 1 2 3 4 5 | xargs -n 1 | xargs -n 1 -I FOO echo FOO 1 2 3 4 5 

Есть ли лучшее обходное решение?

Моя фактическая строка командной строки выглядит так:

 echo 102DRIFT 103DRIFT 104DRIFT 105DRIFT | xargs -n 1 | xargs -n 1 -I _DIR_ python process.py /SDcard/DCIM/_DIR_/ MyTrace.gpx 10 

(Ubuntu Trusty, если это необходимо).

2 Solutions collect form web for “Мне нужно "| xargs -n 1 ", чтобы обойти xargs -I побочный эффект?”

С GNU xargs вы можете использовать опцию -d :

 $ echo 1 2 3 4 5 | xargs -n 1 -d" " -I FOO echo FOO 1 2 3 4 5 

Я не думаю, что вам нужны xargs вообще:

 for DCIM in /SDcard/DCIM/10[2-5]DRIFT/ do python process.py "$DCIM" MyTrace.gpx 10 done 

Тем не менее, есть еще несколько вещей, которые вы можете сделать, кроме того:

 printf 10%dDRIFT\\n 2 3 4 5 | ...the rest... 

Или, если у вас нет кавычек во входных данных …

 IN | tr \ \\n | xargs ... the rest ... 
  • эхом basename под xargs?
  • Xargs во вторую сторону трубы?
  • Исправлен последний аргумент с xargs
  • Найти файл, проверить размер и перезаписать, когда размер файла отличается
  • копировать файлы с целевым именем на основе md5, используя find и xargs
  • Команда xargs приводит к sed:;: Нет такого файла или каталога
  • xargs на OSX: незаконный вариант -
  • Использование xargs с git
  • Использование xargs с вводом из файла
  • Как использовать определенную функцию с xargs
  • Как я удаляю все файлы в каталоге с конкретными расширениями, за исключением последних 5 из них
  • Interesting Posts

    Как я могу удалить весь текст между фигурными скобками в многострочном текстовом файле?

    OpenVPN: малина pi AP для других pi w / VPN

    перехват трафика, генерируемого pktgen

    Влияние файловой системы на скорость флеш-накопителя?

    Может ли пользователь перетаскивать список каталогов без разрешения на чтение в каталоге?

    Извлечь .json из текстового файла с произвольным текстом

    Использовать отдельный раздел в качестве домашнего каталога на нескольких ОС

    Трафик не маршрутизируется через Cisco VPN

    Есть ли способ установить две папки в одну точку монтирования, чтобы зеркалировать папки?

    Установка настольного ПК на удаленном сервере Centos 6.3

    Как правильно перемещать веб-ссылки из моего браузера в папку с помощью перетаскивания в Debian с помощью KDE? (названия страниц не показаны)

    RHEL: справочная страница для файлов конфигурации интерфейса

    Я не знаю, как загружать Certbot в вашу операционную систему

    Связи CentOS или eth должны иметь правило брандмауэра?

    «Совместное использование экрана» в командной строке?

    Linux и Unix - лучшая ОС в мире.