Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

Как удалить строчку без редактора

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Unix
Предыдущая тема :: Следующая тема  
Автор Сообщение
Demm



Зарегистрирован: 17.04.2005
Сообщения: 13

СообщениеДобавлено: Вс Май 29 2005 22:04    Заголовок сообщения: Как удалить строчку без редактора Ответить с цитатой

Есть такая задача в unixе, надо в файле с текстом удалить строчку, не прибегая к редакторам.
Я вот как думаю, надо в процедуре открыть файл, скопировать текс, выбрать номер строки и скопировать текст до этой строки в новый фаил и после этой строки добавить в тот же фаил(> И >>). Но вот как как обратиться к строкам до нужной, и после нее?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
mad_alexx



Зарегистрирован: 14.01.2005
Сообщения: 154
Откуда: Иркутск

СообщениеДобавлено: Пн Май 30 2005 05:15    Заголовок сообщения: Re: Как удалить строчку без редактора Ответить с цитатой

Если строка содержит какую-то уникальную для файла пследовательность символов, то можно через grep:
Код:

cat file1.txt | grep -v <уникальная строка> >file2.txt
mv file2.txt file1.txt
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
критикан



Зарегистрирован: 18.02.2005
Сообщения: 247

СообщениеДобавлено: Пн Май 30 2005 11:30    Заголовок сообщения: unix -- это конструктор моделей, windows -- это литая модель Ответить с цитатой

cat вхфайл | awk 'NR != номер { print }' > выхфайл
-----------
unix -- это конструктор моделей, windows -- это литая модель
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Demm



Зарегистрирован: 17.04.2005
Сообщения: 13

СообщениеДобавлено: Пн Май 30 2005 17:59    Заголовок сообщения: Ответить с цитатой

критикан , спасибо.То что надо.
А с помощью какой команды можны копировать строчку и заместить ее?Если действовать тем же принципом.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
критикан



Зарегистрирован: 18.02.2005
Сообщения: 247

СообщениеДобавлено: Пн Май 30 2005 18:12    Заголовок сообщения: а посмотреть описание awk? не можно? Ответить с цитатой

Demm писал(а):
То что надо.
А с помощью какой команды можны копировать строчку и заместить ее? Если действовать тем же принципом.

Вариантов тьма. Например:

(замещение)
cat вхфайл | awk '{ if (NR == номер) { print "новая строка"} else { print } }' > выхфайл

(копирование, правда я не понял, что-куда копировать?)
cat вхфайл | awk '{ if (NR == номер) { print; print "новая строка"} else { print } }' > выхфайл

----------------------
а посмотреть описание awk? не можно?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Demm



Зарегистрирован: 17.04.2005
Сообщения: 13

СообщениеДобавлено: Пн Май 30 2005 18:18    Заголовок сообщения: Ответить с цитатой

копировать с 2 строчки в 5, например
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
критикан



Зарегистрирован: 18.02.2005
Сообщения: 247

СообщениеДобавлено: Вт Май 31 2005 10:24    Заголовок сообщения: кто знает, сколь стоит час консультации в еврятах? Ответить с цитатой

http://citforum.ru/operating_systems/unixuser/gl10_1.shtml
http://citforum.ru/operating_systems/articles/tut_1.shtml
--------------------
кто знает, сколь стоит час консультации в еврятах?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Demm



Зарегистрирован: 17.04.2005
Сообщения: 13

СообщениеДобавлено: Ср Июн 01 2005 01:48    Заголовок сообщения: Ответить с цитатой

Спасибо я еще и здесь почитал http://www.citforum.ru/operating_systems/articles/sed_awk.shtml
Но у меня есть еще вопрос
Код:
case "$com"
in
1)
;;
2) echo “vvedite nomer str kotoryu nado ydalit”
read y
cat вхфайл | awk 'NR != $y { print }' > выхфайл
;;
почему он не соотносит номер строки с Y?
Код:
read str
cat вхфайл | awk '{ if (NR == $n) { print $str} else { print } }' > выхфайл ;;
И как принту соотнести строку с ввода?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
критикан



Зарегистрирован: 18.02.2005
Сообщения: 247

СообщениеДобавлено: Ср Июн 01 2005 13:18    Заголовок сообщения: Пример пайпа из биологии? Коитус! Ответить с цитатой

Demm писал(а):
Код:
read y
cat вхфайл | awk 'NR != $y { print }' > выхфайл
почему он не соотносит номер строки с Y?
cat вхфайл | awk -v номер=$y 'NR != номер { print }' > выхфайл

PS. В awk'е $число означает содержимое поля №число входного текстового потока
---------------------------
Пример пайпа из биологии? Коитус!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Demm



Зарегистрирован: 17.04.2005
Сообщения: 13

СообщениеДобавлено: Ср Июн 01 2005 13:31    Заголовок сообщения: Re: Пример пайпа из биологии? Коитус! Ответить с цитатой

cat вхфайл | awk -v номер=$y 'NR != номер { print }' > выхфайл
Это номер чего?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
критикан



Зарегистрирован: 18.02.2005
Сообщения: 247

СообщениеДобавлено: Ср Июн 01 2005 13:42    Заголовок сообщения: А других пайпов вы не знаете? Как не знаю! -- Penny's. Ответить с цитатой

cat вхфайл | awk -v AWK_VAR_TO_BE_A_NUMBER=$y 'NR != AWK_VAR_TO_BE_A_NUMBER { print }' > выхфайл
--------------------------------
А других пайпов вы не знаете? Как не знаю! -- Penny's.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Demm



Зарегистрирован: 17.04.2005
Сообщения: 13

СообщениеДобавлено: Ср Июн 01 2005 16:23    Заголовок сообщения: Ответить с цитатой

Я все это прочитал, но как сделать копирование с 2 на 5 строку например, не понял Sad
ЗЫ Большое спасибо за ответы, очень благодарен Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
критикан



Зарегистрирован: 18.02.2005
Сообщения: 247

СообщениеДобавлено: Пт Июн 03 2005 14:08    Заголовок сообщения: Придётся не только положить в рот и разжевать, но и съесть Ответить с цитатой

cat вхфайл | awk '{ if (NR == 2) { print; ЗапомСтр = $0 } else if (NR == 5) { print ЗапомСтр } else { print } }' > выхфайл
----------------------------
Придётся не только положить в рот и разжевать, но и съесть
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Demm



Зарегистрирован: 17.04.2005
Сообщения: 13

СообщениеДобавлено: Сб Июн 04 2005 16:58    Заголовок сообщения: Ответить с цитатой

Большое спасибо!
Не надо так строго, я только учусь!!! Very Happy
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Unix Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...