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
dont't talál jobb regex trek Shell programozás és Scripting 3 05-27-2008 01:20 PM
regex teszt bash subin_bala Shell programozás és Scripting 1 04-16-2008 04:27 AM
Egyszerű Bash script? JayC89 Shell programozás és Scripting 16 10-02-2007 08:23 PM
megtalálják-regex: egyezési több extensions r0sc0 Shell programozás és Scripting 2 12-08-2005 02:32 PM
parancsot talál vissza bash: / usr / bin / találni: argumentum lista túl hosszú yacsil Shell programozás és Scripting 1 12-15-2003 06:38 PM

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
srikanths srikanths is offline
Regisztrált felhasználó
  
 

Join Date: Mar 2008
Hozzászólások: 4
Egy egyszerű megtalálni, és a helyébe használata nélkül regex (bash)

Szia,

Meg kell tenni a pontos keresést és cserét (Nem akarom, hogy a reguláris kifejezések használatát, mert a bemeneti származik felhasználó). Azt akarom, hogy egy vonal, amely egyezik a felhasználó beviteli és helyébe egy üres karakterlánc.

Például mondjuk a felhasználó belép Imádom a "Unix" és a dokumentáció tartalma, ha akarom, hogy megtalálják, és a helyébe a következõ:


Kód:
I like "Unix" more than DOS
I love "Unix"
I said I love "Unix"
I love "Unix" a lot

Most azt szeretném, hogy a sor Imádom a "Unix" üres karakterlánc. És azt akarom, hogy hagyja el a sorokat, mint a többi Mondtam, szeretlek "Unix" és Imádom a "Unix" sok ahogy van. Az idézőjelek nem szándékos.

Melyik Unix segédprogram tudja ezt megtenni? Egy példa lehet nagy! Azt keresték, és megállapította, hogy sed valami közeli, mit keres, de azt egy reguláris kifejezés. Mivel a bemeneti karakterlánc érkezik a felhasználó, akkor nehéz lehet, hogy létrehozzanak egy reguláris kifejezés, ez a helyzet. Minden más módon?

Köszönöm!
  #2 (permalink)  
Old 03-18-2008
era
Vendég
  
 

Posts: n / a
Bit: 0 [Banking]
man grep


Kód:
read input
fgrep -vx "$input" file

Ez eltávolítja a vonal teljesen, és nem is hagyhatja el a newline. Ha a newline meg kell őrizni, ez egy kicsit nehezebb.

Ez nem túl nehéz, hogy létrejöjjön a megfelelő reguláris kifejezés önmagában, de általában egy kicsit csúnya.


Kód:
read input
echo "$input" | sed -e 's/[][\\.*^$]/\\&/g; s/.*/s%^&\$%%/' | sed -f - file

Ez teszteletlen, és csupán az igazolás fogalom. Talán elfelejtette, egy vagy két speciális karakterek, amelyeket át kell backslash-megszökött. (Tipp: Vegye ki az utolsó része a gázvezeték, hogy a generált szkriptet.)
  #3 (permalink)  
Old 03-18-2008
era
Vendég
  
 

Posts: n / a
Bit: 0 [Banking]
Ja, és ha nagyon szigorúan bash, próbálja meg ezt:


Kód:
read input
while read line; do
  case $line in
    $input) echo ;;  # or not, if you want the newline gone, too
    *) echo "$line";;
  esac
done <file

Closed Thread

Könyvjelzõk

Címkék
regex, reguláris kifejezések

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 06:29 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