Я пытаюсь использовать xargs для передачи содержимого переменной, содержащей ноль или несколько путей к файлу, разделенных символами новой строки, другой команде и имеющей непоследовательный успех.Передача файловых путей, содержащих пробелы с xargs
Мой вход выход из этого:
newHTK=`grep -Fxv -f $TMPFILE /Users/foo/.htk`
который генерирует вышеупомянутый список имен файлов. Вот где-то идет не так (или иногда необъяснимо направо):
echo "$newHTK" | xargs -L 1 xattr -w com.apple.metadata:kMDItemFinderComment htk
Намерение для это использовать каждую строку в $newHTK
в качестве имени файла аргумент для xattr
. То, что обычно происходит, - xattr
, разделяет входные данные в пространстве. Я думаю, мне, возможно, придется избегать имен файлов, выходящих из команды echo
, или каким-то образом заключить их в двойные кавычки (любые советы по простому способу сделать это будут оценены). Но если это так, почему это работает для некоторых файлов?