LINUX.ORG.RU

xargs и передача параметров


0

0

Как можно xargs заставить передавать параметры по одному. Делаю так:

find . | xargs awk -f script.awk

В директории примерно 18000 файлов. Нужно для каждого выполнить script.awk, а xargs передает сразу около 1000 имен файлов на вход awk и ничего не работает.

И еще: если сделать mv * /tmp , то он ругается на то, что слишком много файлов (слишком длинная командная строка). Я знаю, что их много, но мне ведь нужно с ними работать. А так ведут себя почти все комманды.

★★★★

find . -exec awk -f script.awk {} \;

sdio ★★★★★
()

> В директории примерно 18000 файлов. Нужно для каждого выполнить script.awk, а xargs передает сразу около 1000 имен файлов на вход awk и ничего не работает.

Лучше перепиши скрипт, чтобы он мог обработать эту 1000 имен.

> И еще: если сделать mv * /tmp , то он ругается на то, что слишком много файлов

find | xargs -r mv --target-directory=DIR

amm
()

> И еще: если сделать mv * /tmp , то
как выполнить скрипт для отдельного файла тебе уже сказали, так вот
почему бы не копировать файлы прямо в этом скрипте

aton
()

мона еще сделать через sh..
for file in `ls -f`
do
# Awk stuff for $file
done

godexsoft
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.