2016-10-18 13 views
0
for f in `find /app/rohith/* -type f -o -prune -name "*.*"` ; mv $f /app/arch/; done 

ОШИБКА: КШ:/USR/бен/найти: ARG список слишком длинныймв команда бросает слишком много аргументов в SOLARIS


Примечание: -> ОС Solaris -> Так , я использую чернослив здесь, его аналогично maxdepth

Мой запрос: как перемещать только файлы (а не подкаталоги) из/app/rohith/to/app/arch/в SOLARIS, а также он не должен давать слишком много аргументов error/exception.

ответ

2

Попробуйте

find /app/rohith/* -type f -prune -name "*.*" -exec mv {} /app/arch/ \; 

Я не уверен, если он работает на Solaris, но на Linux это делает

+0

Нет. Я пробовал все это. Но, Noooo ..! Не работает над SOLARIS. – Rohith

+0

Итак, каков результат этого cmd? Не могли бы вы вставить результат? – slavik

+0

Эта команда является синтаксически правильной в Solaris, как в Gnu/Linux, но проблема заключается в количестве файлов в/app/rohith. В противном случае он может работать под Linux, если список файлов не подходит для среды. – jlliagre

0

Это должно работать, если у вас есть файлы с очень нечетными именами:

cd /app/rohith && ls | while read name; do [ -f "$name" ] && mv "$name" /app/arch ; done