The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Помогите разработать небольшой скрипт(неско строк)"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Помогите разработать небольшой скрипт(неско строк)"  
Сообщение от Martiner email(ok) on 22-Мрт-07, 11:25 
Помогите пожалуйсто написать небольшой скрипт. Никак не получается  

Для заданных файлов (вводятся с клавы) заменить строку с заданным номером (тоже с клавы) на другую строку (тоже с клавы).

Если по простому:
1. Все файлы (имя с клавы).
2. Заменить строку с номером $n (введено с клавы) на другую строку $s (тоже от пользователя).

Заранее благодарен!

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "Помогите разработать небольшой скрипт(неско строк)"  
Сообщение от phpcoder (??) on 22-Мрт-07, 12:16 
>Помогите пожалуйсто написать небольшой скрипт. Никак не получается

Не получается? А где пример твоих попыток?

Хотел тебе на ЛОРе ответить, а ты уже и тут спросить успел (вообще кроспостить это не есть good). Лови пример:

coder@alt0 ~ $ cat sub.test
one
two
three
four
five
coder@alt0 ~ $ ./sub.sh    
Name of file: sub.test
Number of line: 3
Substitution string: bla bla
coder@alt0 ~ $ cat sub.test
one
two
bla bla
four
five
coder@alt0 ~ $ cat sub.sh
#!/bin/sh

echo -n "Name of file: "
read FILE

echo -n "Number of line: "
read LINE

echo -n "Substitution string: "
read STRING

sed "`printf '%dd' $LINE`" sub.test \
| sed "`printf '%di\%s' $LINE "$STRING"`" >${FILE}.tmp
mv -f ${FILE}.tmp $FILE
coder@alt0 ~ $

Работает, хотя и не очень красиво как-то с двумя sed'ами получилось.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Помогите разработать небольшой скрипт(неско строк)"  
Сообщение от Martiner email(ok) on 22-Мрт-07, 12:30 
Огромнейшее спасибо! Это самое красивое, компактное и !понятно! что я видел за последний час!
Попытки были, но они даже не доводились до конца и начинались они с чего-то  похождего на это
fgrep "$str" `find ~/ -name "1*"`>files.txt
дальше не знал как по линиям считать из файла, чтобы потом отсечь все, что после ':' находится вот таким выражением {$templ_str%%:}, затем с помощью sed -e $templ_str {" ... "}
Если синтаксиса не знаешь, то до логики не добираешся((
Ещё раз спасибо!
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Помогите разработать небольшой скрипт(неско строк)"  
Сообщение от sdio on 22-Мрт-07, 14:34 
>Огромнейшее спасибо! Это самое красивое, компактное и !понятно! что я видел за
>последний час!

#!/bin/sh

echo -n "Name of file: ";        read FILE
echo -n "Number of line: ";      read LINE
echo -n "Substitution string: "; read STRING

sed -i "${LINE}c\
$STRING" $FILE

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Помогите разработать небольшой скрипт(неско строк)"  
Сообщение от phpcoder (??) on 22-Мрт-07, 14:58 
>sed -i "${LINE}c\
>$STRING" $FILE

Спасибо за хинт :) Буду знать.


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру