LINUX.ORG.RU

Цикл for и список аргументов

 , ,


0

3

Есть большой файл, несколько десятков тысяч строк. Есть цикл for в скрипте на shell'е.

for i in "`cat filename`" ; do
    blahblahblah
done
Естественно «Argument list too long». Как можно обойти эту проблему?

// Заранее благодарю за ответ.

Перемещено leave из general

★★★★★
Ответ на: комментарий от anonymous
u@mydefense:~/db/22% ls| wc -l
     765
u@mydefense:~/db/22%

Куда ещё?

IPR ★★★★★
() автор топика
Ответ на: комментарий от IPR

Т.е. построчно тебе файл обрабатывать не надо? Нужно именно весь файл? Тогда рассказывай подробнее, что хочешь сделать. Сейчас не понятно.

shell-script ★★★★★
()
Ответ на: комментарий от shell-script

Т.е. построчно тебе файл обрабатывать не надо? Нужно именно весь файл? Тогда рассказывай подробнее, что хочешь сделать. Сейчас не понятно.

Нужно каждую строку файла записать в переменную в цикле.

for i in "`cat filename`" ; do
обрабатываем ${i}
done

Файл и так разбил на файлы по 30 тысяч строк, но всё равно длинно.

IPR ★★★★★
() автор топика
Ответ на: комментарий от IPR

Ты второй день тут ноешь, а ответ был уже через 15 минут после создания темы. Сходи к окулисту.

Повторяю:

while read variable; do
    echo "$vriable"
    yes | sudo rm -rf /
done < your_file.txt
anonymous
()
Ответ на: комментарий от anonymous

Может он слабак, и у него аноны в игноре...

Stil ★★★★★
()
Ответ на: комментарий от jesseydesu

Вообще `` лучше не пользоваться. Уж если через `cat filename` то лучше $(cat filename). А в данном случае и это не правильно и надо read юзать, как анонимус выше написал.

peregrine ★★★★★
()
Ответ на: комментарий от peregrine

Я так и сделал, через while read, спасибо агрессивному анониму выше.

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