![]() |
|
|
google unix.com
|
|||||||
| Forum | Registrera | Forum Regler | Länkar | Album | FAQ | Medlemslista | Kalender | Söka | Dagens inlägg | Markera forum som lästa |
| Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här. |
Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Senaste Inlägg |
| Regex | pppswing | Shell-programmering och Skript | 5 | 06-30-2008 11:22 |
| Ett enkelt hitta och ersätta utan att använda någon regex (bash) | srikanths | Shell-programmering och Skript | 2 | 03-18-2008 08:08 |
| Regex | deepakpv | Shell-programmering och Skript | 6 | 03-28-2007 05:18 |
| Regex? Please help | lunac | UNIX for Dummies Frågor & Svar | 7 | 01-30-2007 01:13 |
| sed regex | Shakey21 | UNIX for Dummies Frågor & Svar | 4 | 01-31-2002 09:16 |
![]() |
|
|
LinkBack | Thread Tools | Sök i denna tråd | Rate Thread | Visningslägen |
|
|
|
||||
|
Förutsatt att du vill ha ett svar, snarare än en teori, något som Kod:
for f in *; do grep use "$f" >/dev/null && continue grep take "$f" >/dev/null && continue # file contains neither if we get to here; report its file name echo "$f" done Om du verkligen behöver detta göras på vanliga uttryck enbart, det finns inget enkelt sätt att ange detta i vanliga uttryck. Teoretiskt skulle det kunna vara en aktör och att parallellt operatören | men i praktiken är det ganska meningslöst, och även komplicerar regex motorn en rättvis bitars (om jag minns det väsentliga av forskningsrapporter om detta ämne korrekt). |
|
||||
|
Från toppen av mitt huvud, jag skulle använda något liknande Kod:
grep -L use $(grep -L take *.txt) vilket innebär första (i prenthesis) hitta alla filer som inte innehåller ordet vidta, och i listan över filer, hitta alla filer som inte innehåller ordet används. Men jag är säker på att det är ett sätt att använda eller i regexp .. / Lakris |
|
||||
|
Använda egrep söker $ var1 ELLER $ var2: Kod:
egrep "[$var1]|[$var2]" file Invert Match: Kod:
egrep -v "[$var1]|[$var2]" file Sök efter $ var1 OCH $ var2: Kod:
egrep "$var1.*$var2|$var2.*$var1" file Invert Match: Kod:
egrep -v "$var1.*$var2|$var2.*$var1" file Hälsningar Senast redigerad av Franklin52; 08-31-2008 vid 07:29.. Anledning: Lägga invertsocker match |
|
||||
|
Citat:
Jag har för att läsa frågan ordentligt.Hälsningar |
|
||||
|
meningslös användning av katt?
Jag antar att jag misstolkat OP, nu är min supersilly superuseless användning av katt och pipa ... Kod:
for x in *.txt;do cat $x|tr "\n" " "|egrep '(use.*take|take.*use)'&>/dev/null; [ $? == 1 ] && echo $x;done men jag tror det blir jobbet gjort? / Lakris |