Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

RegEx Stringanfang + Ende mit Zeilenumbruch

Frage Entwicklung Perl

Mitglied: silverspirit

silverspirit (Level 1) - Jetzt verbinden

11.09.2014, aktualisiert 12.09.2014, 1707 Aufrufe, 6 Kommentare

Hi,
ich möchte gerne folgende Strings aus einer großen Textdatei extrahieren welche so lauten:

CREATE TABLE blablba
blu
blu
;
anderer text...

Ich bekomme entweder nur die erste Zeile oder die vierte zeile zurück wenn ich den Ausdruck einzeln ausführe, füge ich beide zusammen (start und ende) kommt kein Ergebnis. Wie klappt das trotz des Zeilenumbruches ?

^CREATE ;$

Ich mache das ganze mit Windows Grep, oder auch grep in der Kommandozeile (unixtools)
Mitglied: colinardo
11.09.2014, aktualisiert um 16:13 Uhr
Moin,
z.B. so:
grep -P "^CREATE [\s\S]+?^;$" datei.txt
konnte ich gerade nur unter Linux testen ... (-edit- läuft auch unter Windows)

Grüße Uwe
Bitte warten ..
Mitglied: silverspirit
11.09.2014 um 16:32 Uhr
Danke, aber es findet irgendwie kein Ergebnis, ich mache es so:

grep -E "^CREATE [\s\S]+?^;$" san_db_test.sql
Bitte warten ..
Mitglied: colinardo
11.09.2014, aktualisiert um 16:44 Uhr
Zitat von silverspirit:

Danke, aber es findet irgendwie kein Ergebnis, ich mache es so:
grep -E "^CREATE [\s\S]+?^;$" san_db_test.sql
mit extended regex geht das obige nicht, nur mit Perl-Regex (-P)
Bitte warten ..
Mitglied: silverspirit
11.09.2014 um 20:02 Uhr
die -P funktion unterstützt mein grep aus Unixtools auf einen windows server nicht

D:\xyz\dbtmp>grep --help
Usage: grep [OPTION]... PATTERN [FILE] ...
Search for PATTERN in each FILE or standard input.
Example: grep -i 'hello world' menu.h main.c

Regexp selection and interpretation:
-E, --extended-regexp PATTERN is an extended regular expression
-F, --fixed-strings PATTERN is a set of newline-separated strings
-G, --basic-regexp PATTERN is a basic regular expression
-e, --regexp=PATTERN use PATTERN as a regular expression
-f, --file=FILE obtain PATTERN from FILE
-i, --ignore-case ignore case distinctions
-w, --word-regexp force PATTERN to match only whole words
-x, --line-regexp force PATTERN to match only whole lines
-z, --null-data a data line ends in 0 byte, not newline

die anderen optionen habe ich ausprobiert, mit selben ergebnis.
Bitte warten ..
Mitglied: colinardo
LÖSUNG 11.09.2014, aktualisiert 12.09.2014
Nehm das grep hier, das unterstützt die Perl Extension:
http://gnuwin32.sourceforge.net/packages/grep.htm

Oder pcregrep - das normale Grep mit extended Regex hat kein Multiline-Pattern-Matching, das geht nur mit der PERL-Syntax.

Grüße Uwe

btw. du hast das ganze ja auch in der PERL-Kategorie gepostet dann besorg dir auch die richtigen Tools.
Bitte warten ..
Mitglied: silverspirit
12.09.2014 um 12:41 Uhr
mit dem verlinkten Grep hat es nun prima geklappt.
Vielen Dank hierfür !!!

Gruß
Rainer


ps, da es keine kategorie für reguläre ausdrücke gibt, dachte ich PERL dürfte am besten dafür passen.
Bitte warten ..
Ähnliche Inhalte
Windows Tools
gelöst Findstr und regex (5)

Frage von tobmes zum Thema Windows Tools ...

Batch & Shell
gelöst Powershell - Zeilenumbruch in Mail (2)

Frage von rodgerwilco zum Thema Batch & Shell ...

Visual Studio
gelöst VB.Net - Hilfe bei Regex (8)

Frage von emeriks zum Thema Visual Studio ...

Batch & Shell
gelöst Zeilenumbruch-Zeilen-Vorschub entfernen? (Batch) (9)

Frage von clragon zum Thema Batch & Shell ...

Neue Wissensbeiträge
Ubuntu

Ubuntu 17.10 steht zum Download bereit

(3)

Information von Frank zum Thema Ubuntu ...

Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(8)

Information von thomasreischer zum Thema Windows 10 ...

Microsoft

Die neuen RSAT-Tools für Win10 1709 sind da

(2)

Information von DerWoWusste zum Thema Microsoft ...

Heiß diskutierte Inhalte
Router & Routing
Allnet - VDSL2 Modem - SFP (mini-GBIC) (20)

Frage von Dobby zum Thema Router & Routing ...

Monitoring
Netzwerk-Monitoring Software (18)

Frage von Ghost108 zum Thema Monitoring ...

Windows 10
Seekrank bei Windows 10 (17)

Frage von zauberer123 zum Thema Windows 10 ...

Windows Server
gelöst Kopiervorgang schlägt fehl, weil Datei- und Ordnername zu lang sind (14)

Frage von Schroedi zum Thema Windows Server ...