Модераторы: powerfox, ZeeLax
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Заменить текст 'qwe' на 'ZxCv', возможно tr. 
V
    Опции темы
CrazyDiamond
Дата 4.11.2006, 14:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 21.11.2005
Где: Москва

Репутация: нет
Всего: нет



Bash.
Элементарная цель - заменить по тексту 'qwe' на 'asdfg'. Я думал, что команда tr должна с этим справляться, но у меня она не справляется). 
Все ключи перепробовал, заменяет 'qwe' на 'asd', а 'fg' проглатывает. Как сделать, что бы строка1 заменялась на целиковую строку2?
Сейчас пытаюсь на перл тоже самое:
Код

cat ~grigoryr/sql3res.csv | while read CSV
do
perl -e "s/RASADV/Rashod_v_Advantics/; print"
done


Т.к. это простейшая замена слова1 на слово2, никаких ключей после s/str1/str2/ не надо ставить, правильно?
Считывание файла происходит построчно, соответствтенно, perl -e обрабатывает текущую переменную, в которой находится текущая строка. Вроде всё правильно, но ничего не выводится)

Ещё  попробовал perl -e "$CSV=~s/RASADV/blabla/; print", что бы явно определить, какую переменную парсить и выводить, при этом идёт ругань на синтаксис.

UPD: Сделал sed'ом, но мы не ищем лёгких путейsmile
cat ~grigoryr/sql3res.csv | while read CSV; do echo $CSV | sed s/RASADV/blabla/; done

Это сообщение отредактировал(а) CrazyDiamond - 4.11.2006, 15:59
PM MAIL ICQ   Вверх
spin2
Дата 4.11.2006, 16:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 598
Регистрация: 15.12.2005
Где: Москва-Одесса

Репутация: 5
Всего: 31



Недавно сталкивалась с аналогичной ситуацией, делала так:
Код

cat some.file | sed -e s/first/second/g > some.file.old
mv some.file.old some.file



--------------------
"С кем тяжело молчать, с тем не о чем говорить" (Метерлинк)
блог
Все об ICQ-ботах
PM MAIL WWW ICQ Skype Jabber   Вверх
MAKCim
Дата 4.11.2006, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 21
Всего: 207



Цитата

Я думал, что команда tr должна с этим справляться

tr несколько для другого
делай через sed (впрочем, ты и так уже сделал)


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
powerfox
Дата 4.11.2006, 18:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I wanna fork()
****


Профиль
Группа: Комодератор
Сообщений: 3990
Регистрация: 1.10.2005
Где: Санкт-Петербург

Репутация: 26
Всего: 97




M
powerfox
CrazyDiamond[/B], прошу вас не создавать одинаковые темы в разных разделах форума!



--------------------
user posted image
PM WWW   Вверх
CrazyDiamond
Дата 4.11.2006, 18:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 21.11.2005
Где: Москва

Репутация: нет
Всего: нет



Запостив её в другом разделе я ошибся, извинился за это и пометил тему как решённую. Я бы её удалил, если бы была такая функция)
PM MAIL ICQ   Вверх
ZeeLax
Дата 4.11.2006, 19:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 4388
Регистрация: 20.8.2006
Где: Алма-Ата

Репутация: 26
Всего: 88



Цитата(CrazyDiamond @  4.11.2006,  17:01 Найти цитируемый пост)
Считывание файла происходит построчно, соответствтенно, perl -e обрабатывает текущую переменную, в которой находится текущая строка. Вроде всё правильно, но ничего не выводится)

Ключ -e указывает perl интерпретировать его (ключа) значение, как код perl.
Цитата(CrazyDiamond @  4.11.2006,  17:01 Найти цитируемый пост)
perl -e "s/RASADV/Rashod_v_Advantics/; print"

эта команда заставит perl произвести операцию замены в переменной по умолчаню ($_) и, вывести её. Но, т.к. не происходит присвоения ей входных данных, данная операция возвращает пустую строку.
Как вариант:
Код

cat ~grigoryr/sql3res.csv | perl -e "while (<>) {s/RASADV/Rashod_v_Advantics/; print}"
 но, это уже другой раздел smile Пользуйся sed.

Это сообщение отредактировал(а) ZeeLax - 4.11.2006, 19:11


--------------------
Utility is when you have one telephone, luxury is when you have two, opulence is when you have three — and paradise is when you have none.
— Doug Larson
PM MAIL WWW ICQ Skype Jabber   Вверх
powerfox
Дата 4.11.2006, 21:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I wanna fork()
****


Профиль
Группа: Комодератор
Сообщений: 3990
Регистрация: 1.10.2005
Где: Санкт-Петербург

Репутация: 26
Всего: 97



CrazyDiamond, тогда извиняюсь.


--------------------
user posted image
PM WWW   Вверх
Бонифаций
Дата 5.11.2006, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 827
Регистрация: 15.9.2005
Где: Brisbane

Репутация: 9
Всего: 40



Цитата(spin2 @ 4.11.2006,  16:13)
Недавно сталкивалась с аналогичной ситуацией, делала так:
Код

cat some.file | sed -e s/first/second/g > some.file.old
mv some.file.old some.file

это можно было бы одной командой сделать, если использовать ed  а не sed


--------------------
 Бонифаций.
 
PM MAIL ICQ Skype GTalk Jabber YIM   Вверх
spin2
Дата 7.11.2006, 17:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 598
Регистрация: 15.12.2005
Где: Москва-Одесса

Репутация: 5
Всего: 31



Бонифаций, спасибо! Учту. smile


--------------------
"С кем тяжело молчать, с тем не о чем говорить" (Метерлинк)
блог
Все об ICQ-ботах
PM MAIL WWW ICQ Skype Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Linux/UNIX: Oбщие вопросы"
nickless
Imple
nerezus

В тему здесь вопросы общие - не привязанные к определенному ПО или дистрибутиву BSD/Linux/UNIX.
Например вопросы о выборе ОС для определенных задач (но если Вы просто хотите узнать "Какой дистрибутив лучше", то для этого есть Клуб юнуксоидов).
Общие вопросы по shell-программированию тоже лучше задавать здесь.


  • Вопросы мобильной разработки тут
  • Вы должны соблюдать правила форума.
  • Помните: какой вопрос, такой и ответ. Прежде чем задать вопрос прочитайте вот эту статью на форуме CIT.
  • Оскорблять запрещается.
  • Религиозные войны в Религиозных войнах.
  • Общение "просто так" в Клубе юнуксоидов. В отличие от многих других разделов, здесь разрешается сдержанно оффтопить и юморить в тему.

За интересные статьи, находки, решения, программы и просто реальную помощь будут ставиться + в репу).


В данный момент этот раздел модерируют nerezus, nickless, powerfox, pythonwin, Imple и ZeeLax. Если вы хотите помочь нам, пишите в ПМ и мы обсудим.


Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | *NIX системы: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0993 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.