F
Size: a a a
F
аᶘ
F
F
ł
for stuff in $(ls -A)
небезопасно/неправильно/...ł
F
F
ł
ł
for x in $(ls -A); do cp ${x} ...; doneЭто можно как-то сделать через
find -print0 | xargs -0
, чтобы уж точно никакие пробелы и \n
не помешали? Я никак не могу научиться в xargsаᶘ
for x in $(ls -A); do cp ${x} ...; doneЭто можно как-то сделать через
find -print0 | xargs -0
, чтобы уж точно никакие пробелы и \n
не помешали? Я никак не могу научиться в xargscp -- a/* a/.* b
аᶘ
аᶘ
for x in $(ls -A); do cp ${x} ...; doneЭто можно как-то сделать через
find -print0 | xargs -0
, чтобы уж точно никакие пробелы и \n
не помешали? Я никак не могу научиться в xargscp
после аргументов нужно указать destination), то нужно использовать систему шаблонов (xargs -I):find . -maxdepth 1 -mindepth 1 -type f -print0 | xargs -r -0 -I % cp % ...
cp
, в зависимости от того, сколько у тебя было файлов в find.cp
с глоббингом, тогда вместо вызова файлов по одному будет один вызов cp
с N аргументами. Если N сильно большое, то в теории оно может не влезть в буфер shell'а, тогда надо обратно будет откатываться на find, но тут уже зависит от твоего юзкейса.find . -maxdepth 1 -mindepth 1 -type f -print0 | xargs -0 echo
. В этом случае xargs засунет НЕКОТОРОЕ количество строчек как аргументы к echo и вызовет 1 или более echo (зависит от количества аргументов). Ещё xargs'у можно через -n передать максимальное количество аргументов, которое можно засунуть в одну команду, чтобы делать это явно.