grep-match mit string1 ODER string2
Möchte ich grep-2 Muster in einer Datei auf Solaris UNIX.
Ist, dass grep 'motiv1 ODER motiv2' filename.
Folgender Befehl funktioniert NICHT:
grep 'pattern1\|pattern2' filename
Was ist falsch bei diesem Befehl?
HINWEIS: ich bin auf Solaris
Du musst angemeldet sein, um einen Kommentar abzugeben.
Welches Betriebssystem Sie auf?
Funktioniert es mit auf Systemen mit GNU grep, aber auf BSD, Solaris, etc.,
\|
wird nicht unterstützt.Versuchen
egrep
odergrep -E
z.B.Wenn Sie möchten, POSIX-Funktionalität (d.h. Linux-ähnliches Verhalten) kann man die 2 POSIX-kompatible Binärdateien, die am Anfang Ihrer path:
Gibt es auch /usr/xpg6 die POSIX-1 kompatibel.
Dieser Befehl funktioniert gut für mich. Bitte fügen Sie zusätzliche Informationen wie Ihre Plattform und die genaue regulären Ausdruck und Inhalt der Datei, die Sie verwenden (minimiert das kleinste Beispiel, dass noch immer reproduziert das Problem). (Ich möchte hinzufügen, einen Kommentar zu deinem post, aber nicht genug Ruf.)
Korrekt sein. Stellen Sie sicher, dass Sie tun oder nicht, fügen Sie zu den entsprechenden Räumen, d.h. "motiv1\|pattern2" vs "motiv1\| pattern2".
Sind Sie sicher, dass Sie nicht nur Probleme mit solchen Fällen, oder was? versuchen Sie die -i-Option.
\|
funktioniert nicht unter Solaris...Das hängt ganz davon ab, was motiv1 und motiv2 sind. Wenn Sie sind nur Worte, es sollte funktionieren, ansonsten wirst du brauchen:
\|
funktioniert nicht unter Solaris...Einem "Arkan" - Methode mit
fgrep
(sprich: Feste strings), funktioniert auf Solaris 10...Bieten eine Muster-Liste, mit jedem Muster, getrennt durch einen ZEILENUMBRUCH, noch zitiert, so werden von der shell interpretiert als ein Wort:-
Diese Methode funktioniert auch für
grep
,fgrep
undegrep
im/usr/xpg4/bin
, obwohl die pipe-delimited-ERE in jedemegrep
ist manchmal die am wenigsten wählerisch.Können Sie beliebige Zeilenumbrüche in einen string, wenn Sie Ihre shell ermöglicht Geschichte-Bearbeitung, z.B.: in
bash
ProblemC-v C-j
entweder emacs-mode oder vi-Befehls-Modus.