Top-Themen

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 Nachtrag zu UltraEdit Script: Daten auslesen

Mitglied: newbie58

newbie58 (Level 1) - Jetzt verbinden

18.02.2014 um 06:55 Uhr, 1656 Aufrufe, 3 Kommentare

Hallo,
habe von colinardo folgendes script bekommen.

UltraEdit.activeDocument.selectAll();
var leer = " "
var doc = UltraEdit.activeDocument.selection;
var regex = /^N\d+ LAST_TOOL[^\r\n]*|^N\d+ R3\d=[^\r\n]*/gmi;
while (result = regex.exec(doc)){
UltraEdit.activeDocument.write(result[0] + "\r\n");
}

Das script liefert auch die benötigten Dateien.

Beispiel:
N920 LAST_TOOL="5489566" ;LAST_TOOL beschreiben
N1010 R30=800 R96=8000 ; R30 Arbeitsvorschub, Drehzahl fuer Arbeitsvorschub
N1140 LAST_TOOL="5496078" ;LAST_TOOL beschreiben
N1360 R30=900 R96=6000 ; R30 Arbeitsvorschub, R96 Drehzahl fuer Arbeitsvorschub
N1370 R31=450 ; R31 reduzierter Arbeitsvorschub R32 reduzierter Arbeitsvorschub
N1380 R32=225 ; R32 reduzierter Arbeitsvorschub
N1740 LAST_TOOL="5489569" ;LAST_TOOL beschreiben
N1960 R30=2000 R96=8000 ; R30 Arbeitsvorschub, R96 Drehzahl fuer Arbeitsvorschub
N1970 R31=1500 ; R31 Arbeitsvorschub stechen

Um es auch optisch sauber in eine Form zu bringen, brauche ich eine Leerzeile immer vor einem Satz indem das "LAST_TOOL" vorkommt.

Beispiel:
N920 LAST_TOOL="5489566" ;LAST_TOOL beschreiben
N1010 R30=800 R96=8000 ; R30 Arbeitsvorschub, Drehzahl fuer Arbeitsvorschub

N1140 LAST_TOOL="5496078" ;LAST_TOOL beschreiben
N1360 R30=900 R96=6000 ; R30 Arbeitsvorschub, R96 Drehzahl fuer Arbeitsvorschub
N1370 R31=450 ; R31 reduzierter Arbeitsvorschub R32 reduzierter Arbeitsvorschub
N1380 R32=225 ; R32 reduzierter Arbeitsvorschub

N1740 LAST_TOOL="5489569" ;LAST_TOOL beschreiben
N1960 R30=2000 R96=8000 ; R30 Arbeitsvorschub, R96 Drehzahl fuer Arbeitsvorschub
N1970 R31=1500 ; R31 Arbeitsvorschub stechen

Bitte um Hilfe
Danke
Mitglied: colinardo
LÖSUNG 18.02.2014, aktualisiert um 10:29 Uhr
Hello Peter,
01.
UltraEdit.activeDocument.selectAll(); 
02.
var doc = UltraEdit.activeDocument.selection; 
03.
var regex = /(^N\d+ LAST_TOOL[^\r\n]*)|^N\d+ R3\d=[^\r\n]*/gmi; 
04.
 
05.
while (result = regex.exec(doc)){ 
06.
	if (result[1]){ 
07.
		UltraEdit.activeDocument.write("\r\n" + result[0] + "\r\n"); 
08.
	}else{ 
09.
		UltraEdit.activeDocument.write(result[0] + "\r\n"); 
10.
11.
}
hättest du aber auch ruhig in deinem alten Thread nachfragen können

Grüße Uwe
Bitte warten ..
Mitglied: newbie58
18.02.2014 um 10:36 Uhr
Hallo Uwe,

vielen Dank, das passt genauso wie ich es benötige.
Einfach klasse Arbeit.

Ich habe da noch eine Frage:
Wie ist das "/(^N\d+ LAST_TOOL[^\r\n]*)|^N\d+ R3\d=[^\r\n]*/gmi" zu interpretieren?

Danke nochmals und schöne Grüße
Peter
Bitte warten ..
Mitglied: colinardo
18.02.2014, aktualisiert um 10:49 Uhr
Zitat von newbie58:
Ich habe da noch eine Frage:
Wie ist das "/(^N\d+ LAST_TOOL[^\r\n]*)|^N\d+ R3\d=[^\r\n]*/gmi" zu interpretieren?
Das sind Regular Expressions, das hier jetzt lang und ausführlich zu erläutern würde Stunden dauern. Ausgeschrieben lässt es sich so beschreiben:

Options: case insensitive; ^ and $ match at line breaks 
 
Match either the regular expression below (attempting the next alternative only if this one fails) «(^N\d+ LAST_TOOL[^\r\n]*)» 
   Match the regular expression below and capture its match into backreference number 1 «(^N\d+ LAST_TOOL[^\r\n]*)» 
      Assert position at the beginning of a line (at beginning of the string or after a line break character) «^» 
      Match the character “N” literally «N» 
      Match a single digit 0..9 «\d+» 
         Between one and unlimited times, as many times as possible, giving back as needed (greedy) «+» 
      Match the characters “ LAST_TOOL” literally « LAST_TOOL» 
      Match a single character NOT present in the list below «[^\r\n]*» 
         Between zero and unlimited times, as many times as possible, giving back as needed (greedy) «*» 
         A carriage return character «\r» 
         A line feed character «\n» 
Or match regular expression number 2 below (the entire match attempt fails if this one fails to match) «^N\d+ R3\d=[^\r\n]*» 
   Assert position at the beginning of a line (at beginning of the string or after a line break character) «^» 
   Match the character “N” literally «N» 
   Match a single digit 0..9 «\d+» 
      Between one and unlimited times, as many times as possible, giving back as needed (greedy) «+» 
   Match the characters “ R3” literally « R3» 
   Match a single digit 0..9 «\d» 
   Match the character “=” literally «=» 
   Match a single character NOT present in the list below «[^\r\n]*» 
      Between zero and unlimited times, as many times as possible, giving back as needed (greedy) «*» 
      A carriage return character «\r» 
      A line feed character «\n»
Ein Turorial zu RegEx findest du z.B. hier:
Regular Expressions Tutorial

Bei dieser Variante werden zwei Regex-Patterns mit einem Pipe | Symbol verknüpft (bedeutet oder), um beide Varianten von Zeilen zu erfassen. Also entweder matcht das ein oder das andere Pattern, sonst nichts. Die runden Klammern um das gesamte linke Konstrukt erstellen eine "Backreference" auf die nachher mit einem Index im Array result[x] zugegriffen werden kann. Mit der IF-Prüfung prüfen wir ob diese Backreference mit Daten gefüllt wurde, und wenn ja schreiben wir eine Zeile die zusätzlich einen weiteren Zeilenumbruch vor den Daten einfügt.

Grüße Uwe
Bitte warten ..
Ähnliche Inhalte
PHP
PHP Script zum Daten auslesen gesucht
Frage von majas3PHP2 Kommentare

Hallo, ich habe viele taußend HTML Seiten in verschiedenen Verzeichnissen und bin auf der Suche nach einem PHP Script ...

IDE & Editoren

UltraEdit mit Script die Anzahl Zeilen und Wörter ermitteln

gelöst Frage von newbie58IDE & Editoren2 Kommentare

Hallo, ich will im UltraEdit mittels Script von einer Textdatei die Anzahl der Zeilen und Wörter ermitteln. Wie müsste ...

IDE & Editoren

UltraEdit: Textdatei für Excel aufbereiten

gelöst Frage von newbie58IDE & Editoren12 Kommentare

Hallo, ich habe eine Textdatei (Ausschnitte aus einem NC-Programm) die wie folg aussieht: 5112281 ; NC_JOB: 30001 VORFRAESEN AUSLASSSEITE ...

Router & Routing

OpenWRT Daten auslesen

gelöst Frage von KammiiRouter & Routing2 Kommentare

Hallo, ich habe da mal wieder eine kleine frage zu openWRT. Und zwar wie kann ich mich in der ...

Neue Wissensbeiträge
Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 15 StundenHumor (lol)3 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 1 TagGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Sicherheit

Intel gibt neue Spectre V2-Microcode-Updates frei (20.02.2018)

Information von kgborn vor 1 TagSicherheit

Intel hat zum 20. Februar 2018 weitere Microcode-Updates für OEMs freigegeben, um Systeme mit neueren Prozessoren gegen die Spectre ...

Microsoft
ARD-Doku - Das Microsoft Dilemma
Tipp von Knorkator vor 1 TagMicrosoft3 Kommentare

Hallo zusammen, vor einigen Tagen lief in der ARD u.a. Reportage. Das Youtube Video dazu dürfte länger verfügbar sein. ...

Heiß diskutierte Inhalte
Server-Hardware
Welche Rolle spielt Design bei Enterprise IT Hardware?
Frage von ApolloXServer-Hardware17 Kommentare

Ich arbeite für einen internationalen Elektronikhersteller in der Forschung und meine Aufgabe ist es, Feedback von Nutzern in Hinsicht ...

Windows Netzwerk
WSUS4 und Windows 10 Updates automatisch installieren
Frage von sammy65Windows Netzwerk15 Kommentare

Hallo miteinander, ich habe mit einen neuen WSUS Server aufgesetzt Server 2016 darauf einen aktuellen WSUS. Grund, wir stellen ...

Switche und Hubs
Cisco SG350X-48 AdminIP in anderes VLAN
Frage von lcer00Switche und Hubs14 Kommentare

Hallo zusammen, ich habe ein Problem mir einem Cisco SG350X-48 bei der Erstinstallation wurde eine IP 192.168.0.254 (Default VLAN ...

Windows Netzwerk
Backup über WAN
Frage von petereWindows Netzwerk11 Kommentare

Hallo, ich muss aus einem entfernten WAN (synchrone 1Gbit) Daten sichern. Dabei handelt es sich sowohl um wenige große ...