Здравствуйте, экспериментирую с командами и не совсем понятны некоторые нюансы:
Есть файлы 'f1' 'f2' 'f3 3', использую xargs, чтобы выполнить команду над каждым:
find . -print0 | xargs -0 file
тут xargs разделяет элементы null символом и нормально с ними работает, но если попробовать немного по другому:
ls -1 | uniq -z | xargs -0 file
ls -1 | grep -z '' | xargs -0 file
Вывод:
f1
f2
f3 3
: cannot open `f1\012f2\012f3 3\012' (No such file or directory)
ls -1 | sed 's/.*/&\x00/' | xargs -0 file
После такого выводит:
f1: empty
f2: cannot open `\012f2' (No such file or directory)
f3 3: cannot open `\012f3 3' (No such file or directory)
: cannot open `\012' (No such file or directory)