Я пытаюсь переименовать все файлы в текущем каталоге, чтобы имя верхнего регистра было преобразовано в нижнее. Я пытаюсь сделать это следующим образом:xargs для выполнения строки - что я делаю неправильно?
ls -1|gawk '{print "`mv "$0" "tolower($0)"`"}'|xargs -i -t eval {}
У меня есть два файла в каталоге, Y и YY -t добавлены для отладки, и выход:
eval `mv Y y`
xargs: eval: No such file or directory
, если я исполню eval сам по себе, он работает и перемещает Y в y.
Я знаю, что есть другие способы достичь этого, но я бы хотел, чтобы это работало, если можно! Cheers
ОК, спасибо - это работает. Это немного больше, чем я понял. –
Понял, что вам не нужен eval (или 's) с помощью этого метода. поэтому ls -1 | gawk '{print "mv" $ 0 "" tolower ($ 0)}' | xargs -i -t sh -c "{}" работает также –