![]() |
|
|
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 |
| 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 |
![]() |
|
|
LinkBack | Téma eszközök | Keresés a téma | Rate Thread | Megjelenítési módok |
|
|
|
||||
|
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! |
|
||||
|
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.) |
![]() |
| Könyvjelzõk |
| Címkék |
| regex, reguláris kifejezések |
| Téma eszközök | Keresés a téma |
| Megjelenítési módok | Rate this thread |
|
|