![]() |
|
|
google unix.com
|
|||||||
| Fórumok | Regisztráció | Fórum Szabályok | Linkek | Albumok | GYIK | Tagok listája | Naptár | Keres | Mai hozzászólások | Megjelöl Fórumok Olvas |
| Shell programozás és Scripting Post kérdések KSH, CSH, SH, Bash, Perl, PHP, SED, AWK ÉS EGYÉB shell szkriptek és shell script nyelvek itt. |
Több, UNIX és Linux fórum témák Ön által talált Hasznos
|
||||
| Szál | Thread Starter | Fórum | Válaszok | Utolsó hozzászólás |
| Perl script Beolvasásra hátsó sorok | gholdbhurg | Shell programozás és Scripting | 3 | 03-18-2008 12:33 PM |
| Hivatkozás: WebObjects 5.4.1 Hivatkozás | iBot | UNIX és Linux RSS hírek | 0 | 03-11-2008 09:50 PM |
| Vágólap Modifier 0.2.0 (Default branch) | iBot | Software Releases - RSS hírek | 0 | 01-02-2008 05:00 PM |
| Vissza hivatkozás hiba | apoorvasharma80 | Shell programozás és Scripting | 4 | 08-22-2006 11:25 AM |
| Hivatkozás két tömböt a Perl-sub | photon | Shell programozás és Scripting | 5 | 04-16-2003 05:52 AM |
![]() |
|
|
LinkBack | Téma eszközök | Keresés a téma | Rate Thread | Megjelenítési módok |
|
|
|
||||
|
Perl: A visszafelé hivatkozás S modifier
Saját beviteli szöveg a következő pattens: Kód:
func_a(3,
4,
5);
Azt akarom, hogy cserélje ki ezt: Kód:
func_b(3,
4,
5,
6);
Próbálom a következő kifejezés, de nem működik: Kód:
perl -p -e "s/func_a\((.*)?\);/func_b(\1,\n6)/s" < file |more Any ideas? Köszönöm. |
|
||||
|
Igen, régen 1 $ helyett \ 1. Azt hiszem, ez nem számít. Ha meglesz a mintákat, amelyek nem rendelkeznek új vonal őket, mint például: Kód:
func_a(3); Doing Kód:
perl -p -e "s/func_a\((.*)?\);/func_b($1,\n6)/s" < file |more várt módon működik. |
|
||||
|
A probléma az, hogy a perl -p, akkor csak olvasás és vizsgálata egy vonal egy időben. Így a minta mérkőzés nem kezdik alkalmazni minden, ami közrefogja egy sort határt, még akkor is, ha a / s modifier. Meg tudod oldani, hogy az olvasó minden olyan vonalon, egyszerre, a perl -0.777 Vagy valami hasonló.
Lásd még a Perl FAQ, amelynek részletes vita folyt erről a témáról. |
|
||||
|
perl kellett volna nekem egy hiba / figyelmeztetés, mert az s módosítót nem alkalmazható-p. Különben is, itt van, amit én megpróbáltam, de ezúttal kapok semmit outputted: Kód:
perl -e -0777 "s/func_a\((.*)?\);/func_b(\1,\n6)/s" < file |more és Kód:
perl -e "BEGIN {$/=undef} s/func_a\((.*)?\);/func_b(\1,\n6)/s"
|
![]() |
| Könyvjelzõk |
| Téma eszközök | Keresés a téma |
| Megjelenítési módok | Rate this thread |
|
|