Szeretném parancssorból megoldani, hogy (több fájlban) kicserélődjön
ez: define('qc',"ch");define('qf',"fr"); //define('qc',"Y");define('qf',"Y");
erre: define('qc',"Y");define('qf',"Y");
Mégpedig úgy, hogy ne kelljen levédeni a kritikus karaktereket (zárójel, pontosvessző, idézőjel, aposztróf, perjel, apát).
Lehet, hogy van olyan perl kapcsoló, amivel ez működik? Vagy van más, kevéssé szofisztikált parancssori eszköz (linuxhoz), amivel az efféle cserék gyorsan kivitelezhetők?
(Egy kerülőutat tudok: geanyban megnyitni mindet, csere: Munkamenetben. De mégis gyorsabb és újrafelhasználhatóbb lenne a parancssor.)
- 5790 megtekintés
Hozzászólások
$x = q{define('qc',"ch");define('qf',"fr"); //define('qc',"Y");define('qf',"Y");};
$y = q{define('qc',"Y");define('qf',"Y");};
s/\Q$x/$y/g;
- A hozzászóláshoz be kell jelentkezni
Köszi!
Hiába, ez a q(uote) csodákra képes. :-)
- A hozzászóláshoz be kell jelentkezni
meg a \Q a csereben :)
szivesen.
- A hozzászóláshoz be kell jelentkezni
Csak annyi, hogy a megjegyzés előtti részt ki kell törölni, a két perjellel együtt?
Baromi egyszerű, még perl sem kell :)
sed "s@^.*//@@"
És kész. Persze lehet variálni, hogy az előző se vesszen el:
sed "s@^\(.*\)//\(.*\)@\2//\1@"
Persze hogy ne mindent cserélgessen, egy szűrő-feltételt érdemes lehet a sed-nek megadni.
- A hozzászóláshoz be kell jelentkezni
> Csak annyi, hogy a megjegyzés előtti részt ki kell törölni, a két perjellel együtt?
A szűrőfeltétel fontos, hogy máshol ne játssza el ugyanezt a cserélő.
Igazából ennél általánosabb feladatokra is kerestem a megoldást; ahol sok furi karakter van, azt hogyan szokás megoldani.
És meg is kaptam. :-)
Köszi azért.
- A hozzászóláshoz be kell jelentkezni
Szegény szerzetesi elöljáró, nem akarod levédeni :-)
- A hozzászóláshoz be kell jelentkezni
Igen. :-) Jó szemed van.
- A hozzászóláshoz be kell jelentkezni