|
lug-bg: Perl system() or exec()
- Subject: lug-bg: Perl system() or exec()
- From: Daniel <sertys@xxxxxxxxxxxxxx>
- Date: Mon, 07 Mar 2005 08:20:12 +0200
Пиша си аз и стигам до частта, където трябва да риплейсна един стринг в
текстов файл и то със стандартни инструменти. Написах го с временен файл и
базирано на sed. Идеята е някаква такава -
mv file file.tmp;
sed s/^$something.*$/$somethingandsomethingelse/ file.tmp > file
rm file.tmp
Това работи, пишейки го на ръка, но слагайки го в system() пищи. Лудото
е,чe $somethingelse съдържа стринг от сорта на "1","2","3" (кавичките са
важни), което избягвам затваряйки го в единични кавични в шел, но както
споменах - не ще! Пише, че не е терминиран с// оператора. Което е логично,
но дори слагайки "командата" във временна променлива и пействайки я в
шел-а след парс-а на "перлата" тя РАБОТИ. Имам | - ки в командата, но ги
ескейпвам с \\.
Дееба. вече ми се спи. Ако се сещате за по-инте(ресен|лигентен) начин за
замяна на даден ред от текстов файл - отворен съм. Сед ми се струва бърз и
затова се оповах на него. sed2perl не ме кефи.
--
Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/
============================================================================
A mail-list of Linux Users Group - Bulgaria (bulgarian linuxers).
http://www.linux-bulgaria.org - Hosted by Internet Group Ltd. - Stara Zagora
To unsubscribe: http://www.linux-bulgaria.org/public/mail_list.html
============================================================================
|
|
|