The UNIX and Linux Forums  


Go Back   A UNIX és Linux Forums > Top Fórumok > Shell programozás és Scripting
.
google unix.com



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

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Téma eszközök Keresés a téma Rate Thread Megjelenítési módok
  #1 (permalink)  
Old 03-17-2008
cooldude cooldude is offline
Regisztrált felhasználó
  
 

Join Date: Mar 2006
Hozzászólások: 44
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.
  #2 (permalink)  
Old 03-17-2008
KevinADC KevinADC is offline Forum Advisor  
Regisztrált felhasználó
  
 

Join Date: Jan 2008
Hozzászólások: 731
a $ 1 és $ 6 helyett \ 1 és \ 6, nézd meg, ez segít. Használja egyetlen idézőjelbe a kódot, ha már ott is vannak ablakok.
  #3 (permalink)  
Old 03-18-2008
cooldude cooldude is offline
Regisztrált felhasználó
  
 

Join Date: Mar 2006
Hozzászólások: 44
Kösz, de ez nem működik. By the way, én nem használ \ 6, hanem \ n6.
  #4 (permalink)  
Old 03-18-2008
rajut1984 rajut1984 is offline
Regisztrált felhasználó
  
 

Join Date: Mar 2008
Hozzászólások: 3
Használja 1 $ helyett \ 1

Módosítsa a parancsot az alábbiak szerint ...
perl -p-e "s / func_a \ ((.*)? \); / func_b \ ($ 1, \ n6 \); / s" <file | more
  #5 (permalink)  
Old 03-18-2008
cooldude cooldude is offline
Regisztrált felhasználó
  
 

Join Date: Mar 2006
Hozzászólások: 44
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.
  #6 (permalink)  
Old 03-18-2008
era
Vendég
  
 

Posts: n / a
Bit: 0 [Banking]
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.
  #7 (permalink)  
Old 03-18-2008
cooldude cooldude is offline
Regisztrált felhasználó
  
 

Join Date: Mar 2006
Hozzászólások: 44
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"

Closed Thread

Könyvjelzõk

Téma eszközök Keresés a téma
Keresés a téma:

Részletes keresés
Megjelenítési módok Rate this thread
Rate this thread:

Posting szabályzat
Ön nem post new threads
Ön nem post válaszok
Ön nem post Csatolmányok
Ön nem szerkeszteni az üzeneteidet

BB kód van Be
Smilies vannak Be
[IMG] kód Be
HTML kód Ki
Trackbacks vannak Be
Pingbacks vannak Be
Refbacks vannak Be




Minden idő GMT -4. Az idő most 10:43 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Nyelvre lefordítva Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
A UNIX és Linux Fórum Tartalom Copyright © 1993-2009. Minden jog Reserved.Ad menedzsment RedTyger

Content Relevant URLs by vBSEO 3.2.0