Помогите написать bash-скрипт
LinAdmin 13 июня, 2007 - 17:14
Приветствую всех!
Товарищи, помогите пожалуйста написать скрипт который бы менял в файле чётные и нечётные строки местами. Я представляю себе как должна работать программа, но не знаю синтаксис языка bash.
»
- Для комментирования войдите или зарегистрируйтесь
ну если в файле
ну если в файле только две строки) то тогда можно тупо
а если больше -выложи алгоритм тогда -)
В том то и
В том то и прикол что строк должно быть несколько.... примерно 4... Алгоритм я себе представляю таким: есть 2 цикла, первый внешний проверяет конец ли файла или нет. Второй внутренний, считывает строку в буфер и удаляет, а затем вставляет после ниже идущей. Вот...
_________________
Gentoo Linux + здравая голова + ровные руки + терпение = Linux сервер своими руками! :)
алгоритм
алгоритм какой-то общий у вас)
з.ы. кстате, эм...вам вообще живется то нормально....ну там печатать удобно...с _ровными_ руками ???)
жаль ,жаль... =(
что то вроде вот этого
a=(`sed -n 1~2p $file_name`); b=(`sed -n 2~2p $filename`); i=0; while [ $i -lt ${#a[@]} ]; do echo ${b[i]} $'\n'${a[i]} >> resultat; let "i+=1"; done
правда вывод зависит от четности кол-ва строк (возможно последняя строка не будет напечатана)))но тут сам уже разбирайся, мне лень думать
Помогите в написании скрипта на shell
Мне надо в текстовике заменить выражение вида "http://distfiles.gentoo.org/distfiles/*" на "cp /mnt/dvdrom/distfiles/* /usr/portage/distfiles/*" где * это название пакета
P.S. Надо сделать через стандартные средства.
будем считать что предыдущего поста никто не видел)
сделай sed 's/шаблон/замена/g' фаил
cat file | sed
cat file | sed 's#^.*/distfiles/\(.*\)$#cp /mnt/dvdrom/distfiles/\1 /usr/portage/distfiles/\1#g'