| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für PTC CREO |
Autor
|
Thema: Texteditor Text sortieren (2820 mal gelesen)
|
thomasvoe Mitglied Konstrukteur
Beiträge: 17 Registriert: 28.04.2005
|
erstellt am: 22. Feb. 2007 12:38 <-- editieren / zitieren --> Unities abgeben:
Hallo Leute, ich arbeite an ME10 V10.5 mit einem alten unix Rechner. Habe folgende Problematik: Mit dem Befehl Aufzählen Bildschirm habe ich alle Teile die ich brauche um eine Stückliste zu erstellen. Dies funktioniert soweit recht gut. Jetzt wird von klein nach groß aufgelistet. Ich möchte aber umgekehrt alles gelistet haben also die oberste Zeile ganz unten die 2. Zeile in der 2.untersten Zeile usw. bei ca. 100 bis 150 Zeilen kostet das einfach zu viel Zeit. Kennt jemand einen Befehl dazu? Gruß Thomas Vögele Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Roman Mitglied
Beiträge: 674 Registriert: 16.01.2001 ME10 v20.4.1, Win10 SD v20.4.1, Win10 Windchill 12.02 Creo 8.0.2 in der Einführungsphase
|
erstellt am: 22. Feb. 2007 15:27 <-- editieren / zitieren --> Unities abgeben: Nur für thomasvoe
|
clausb Ehrenmitglied V.I.P. h.c.
Beiträge: 2914 Registriert: 20.12.2000
|
erstellt am: 22. Feb. 2007 15:38 <-- editieren / zitieren --> Unities abgeben: Nur für thomasvoe
|
thomasvoe Mitglied Konstrukteur
Beiträge: 17 Registriert: 28.04.2005
|
erstellt am: 23. Feb. 2007 12:42 <-- editieren / zitieren --> Unities abgeben:
Hallo Roman, Danke für Deinen Beitrag, kannst Du mir das genauer beschreiben, was ich da genau eingeben muß? Beispiel: Wenn ich in meiner Tabelle (blauer Editor) den Werkstoff ändern will, gebe ich ein: $R´1.2436´´16MnCr5´! so werden alle 1.2436 gegen 16MnCr5 ersetzt. Jetzt suche ich den Befehl der mir alle Zeilen von unten nach oben sortiert. Vielleicht kann man das auch in einem Macro schreiben, sodaß gleich andersrum aufgelistet wird. Danke Gruß Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RainerH Mitglied Techn. Ang. (Konstruktion)
Beiträge: 736 Registriert: 22.01.2003 OSDM 14.00A OSDD 14.00A MM 14.00A Windows-XP Professional --- HP xw4100 3.0 GHz 2GB RAM Quadro4 980 XGL
|
erstellt am: 26. Feb. 2007 09:49 <-- editieren / zitieren --> Unities abgeben: Nur für thomasvoe
Zitat: Original erstellt von thomasvoe: ... $R´1.2436´´16MnCr5´! so werden alle 1.2436 gegen 16MnCr5 ersetzt. Jetzt suche ich den Befehl der mir alle Zeilen von unten nach oben sortiert...
@Thomas Du befindest dich im integrierten Bildschirm-Editor von ME10, wenn du die klassische UI verwendest (oder im UNIX) Ob dieser Editor auch sortieren kann glaube ich nicht ! Die moeglichen Befehle kannst du herausfinden in dem du in die Befehlszeile dies eingibst: HELP EDITOR P.S. Meiner Meinung nach schade, dass es diesen im WUI nicht mehr gibt HTH Gruss RainerH. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Roman Mitglied
Beiträge: 674 Registriert: 16.01.2001
|
erstellt am: 26. Feb. 2007 12:14 <-- editieren / zitieren --> Unities abgeben: Nur für thomasvoe
|
RainerH Mitglied Techn. Ang. (Konstruktion)
Beiträge: 736 Registriert: 22.01.2003 OSDM 14.00A OSDD 14.00A MM 14.00A Windows-XP Professional --- HP xw4100 3.0 GHz 2GB RAM Quadro4 980 XGL
|
erstellt am: 26. Feb. 2007 13:46 <-- editieren / zitieren --> Unities abgeben: Nur für thomasvoe
@Thomas Roman gab den Startschuss: Code:
DEFINE Teileliste_macro LOCAL Dateiname LOCAL Dateiname_sortiert LET Dateiname '/tmp/Teileliste.txt' LET Dateiname_sortiert '/tmp/Teileliste_sortiert.txt' PARTS_LIST COUNT_TREE DEL_OLD Dateiname RUN GRAPHIC ('cat ' + Dateiname + ' | sort -r > ' + Dateiname_sortiert) EDIT_FILE Dateiname_sortiert END_DEFINE
Kann es unter HP-UX leider nicht mehr testen ! Probier es einfach mal aus ... HTH Gruss RainerH. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der_Wolfgang Ehrenmitglied V.I.P. h.c. Tastenhauer
Beiträge: 2017 Registriert: 3.20. ● PE6+8@home ● W10 Pro Build19044.2006 ● Drafting V17~V20.5.1 ● Modeling V17~V20.5.1 ● @Scirotec201804
|
erstellt am: 26. Feb. 2007 19:51 <-- editieren / zitieren --> Unities abgeben: Nur für thomasvoe
|
RainerH Mitglied Techn. Ang. (Konstruktion)
Beiträge: 736 Registriert: 22.01.2003 OSDM 14.00A OSDD 14.00A MM 14.00A Windows-XP Professional --- HP xw4100 3.0 GHz 2GB RAM Quadro4 980 XGL
|
erstellt am: 27. Feb. 2007 07:47 <-- editieren / zitieren --> Unities abgeben: Nur für thomasvoe
@der_Wolfgang Hier wird man um ein Makro nicht herumkommen ! PARTS_LIST LTAB Ltabname -> SORT_LTAB Ltabname ist dabei ebenfalls eine Moeglichkeit, nur dass man dann den Ihalt der Tabelle auslesen muss. Ein anderere Weg koennte auch der PRT_EDITOR sein ... Viele Wege fuehren nach Rom ... Mal sehen was Thomas dazu sagt Gruss RainerH
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der_Wolfgang Ehrenmitglied V.I.P. h.c. Tastenhauer
Beiträge: 2017 Registriert: 3.20. ● PE6+8@home ● W10 Pro Build19044.2006 ● Drafting V17~V20.5.1 ● Modeling V17~V20.5.1 ● @Scirotec201804
|
erstellt am: 04. Mrz. 2007 19:39 <-- editieren / zitieren --> Unities abgeben: Nur für thomasvoe
|
thomasvoe Mitglied Konstrukteur
Beiträge: 17 Registriert: 28.04.2005
|
erstellt am: 06. Mrz. 2007 07:05 <-- editieren / zitieren --> Unities abgeben:
Hallo Wolfgang, zunächst Danke an alle die hier bei meiner Aufgabe mitmachen. Der Weg nach Rom ist tatsächlich beschwerlich. Das Programm von Rainer habe ich probiert, mit meinem user Pfad. Das Programm läuft zwar aber als Ergebnis habe ich einen blauen leeren Bildschirm. Ich denke ich bin nah dran. Gruß vom Bodensee Thomas Vögele Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
thomasvoe Mitglied Konstrukteur
Beiträge: 17 Registriert: 28.04.2005
|
erstellt am: 07. Mrz. 2007 16:55 <-- editieren / zitieren --> Unities abgeben:
Hallo Rainer, Wolfgang, das Macro läuft durch, schreibt mir eine Datei ´LISTE´ mit einer Teileauflistung drin, schreibt dann eine weitere Datei ´Liste_sortiert´ diese ist allerdings leer. Es liegt wohl an diesem Befehl: RUN GRAPHIC ("cat´LISTE´| sort -r > ´LISTE_sortiert´") Dieser Befehl in die Befehlszeile eingegeben wird zwar akzeptiert, aber er schreibt nur eine leere Datei ´LISTE_sortiert´ Vielleicht weiss jemand den Trick? Umschaltzeichen Dollar zB.? Gruß Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Roman Mitglied
Beiträge: 674 Registriert: 16.01.2001 ME10 v20.4.1, Win10 SD v20.4.1, Win10 Windchill 12.02 Creo 8.0.2 in der Einführungsphase
|
erstellt am: 07. Mrz. 2007 17:10 <-- editieren / zitieren --> Unities abgeben: Nur für thomasvoe
Zitat: Original erstellt von thomasvoe:
Es liegt wohl an diesem Befehl: RUN GRAPHIC ("cat´LISTE´| sort -r > ´LISTE_sortiert´")
Eventuell mal ein Leerzeichen zwischen cat und dem ´LISTE setzen? Roman Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
H.annes Mitglied CAD-Pfriemler
Beiträge: 482 Registriert: 02.07.2001 ME10 8.7 - PTC DirectDrafting 19.00; OSM 15.xx - PTC DM 19.xx
|
erstellt am: 08. Mrz. 2007 07:43 <-- editieren / zitieren --> Unities abgeben: Nur für thomasvoe
Zitat: Original erstellt von Roman:
Eventuell mal ein Leerzeichen zwischen cat und dem ´LISTE setzen?Roman
seh ich auch so es reicht aber auch: sort LISTE > LISTE_sortiert ohne Hochkomma & ohne cat Hannes ------------------ und mia haun jetzt in huad drauf und mia dringan no a bia und mogst du söwa a nu ans sogs eam owa ned mia Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Roman Mitglied
Beiträge: 674 Registriert: 16.01.2001
|
erstellt am: 08. Mrz. 2007 08:53 <-- editieren / zitieren --> Unities abgeben: Nur für thomasvoe
|
thomasvoe Mitglied Konstrukteur
Beiträge: 17 Registriert: 28.04.2005
|
erstellt am: 08. Mrz. 2007 09:05 <-- editieren / zitieren --> Unities abgeben:
Danke an alle, es funktioniert !! Was ein Leerzeichen ausmachen kann, unglaublich. Jetzt gibt es aber noch ein weiteres Problem, es wird nach Stückzahl sortiert, also was beim auflisten ganz vorne steht. Bei PARTS_LIST SCREEN wird nach dem Teilenamen sortiert, nicht nach der Stückzahl nur eben für mich falsch rum. Da gibts doch bestimmt etwas wo man dem Programm sagen kann liste mir nach Buchstaben oder ab Teilenamen auf. Gruß vom Bodensee Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RainerH Mitglied Techn. Ang. (Konstruktion)
Beiträge: 736 Registriert: 22.01.2003 OSDM 14.00A OSDD 14.00A MM 14.00A Windows-XP Professional --- HP xw4100 3.0 GHz 2GB RAM Quadro4 980 XGL
|
erstellt am: 08. Mrz. 2007 09:30 <-- editieren / zitieren --> Unities abgeben: Nur für thomasvoe
|
friedhelm at work Mitglied Techniker Aluminium Profile
Beiträge: 882 Registriert: 01.04.2003 Creo Elements Direct /Drafting 17+20.x ui classic-Tablett + Ribbon, Modeling 17-20.0,.2,.4,.5 Lizenz auf USB-Netzwerkadapter PE-Express 8 Win 10 Enterprise 64 @work Win 10 Pro 64 @home Notepad++,IrfanView,eDrawings, ....
|
erstellt am: 13. Mrz. 2007 20:48 <-- editieren / zitieren --> Unities abgeben: Nur für thomasvoe
Hallo, wir sind auch aus dem UX (leider?) raus, hab aber mal in einem Buch nachgesehen. (Verdamp lang her) Probier mal: Code:
DEFINE Teileliste_macro LOCAL Dateiname LOCAL Dateiname_sortiert LET Dateiname '/tmp/Teileliste.txt' LET Dateiname_sortiert '/tmp/Teileliste_sortiert.txt' PARTS_LIST COUNT_TREE DEL_OLD Dateiname RUN GRAPHIC ("sort -r '-t ' +2 "+Dateiname+" > "+Dateiname_sortiert) EDIT_FILE Dateiname_sortiert END_DEFINE
Die Parameter hinter sort bedeuten: -r umgekehrte Sortierfolge '-t ' Leerzeichen als Trennzeichen +2 2.Spalte Das Buch beschreibt nicht unbedingt Hp-Ux und die Schreibweise kann abweichend sein. Da kannst Du Dir aber selber weiterhelfen. Tippe in die Befehlszeile von Me10 run ohne Hochkommas ein +Enter. Damit kommst du in die Shell. Hier tippst Du,wieder ohne Hochkommas: man sort +Enter. Das müsste Dir den gesammten sort Befehl inklusive Parameter auflisten. Der Rest ist ausprobieren ;-)
------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
thomasvoe Mitglied Konstrukteur
Beiträge: 17 Registriert: 28.04.2005
|
erstellt am: 30. Mrz. 2007 11:36 <-- editieren / zitieren --> Unities abgeben:
Hallo Friedhelm, danke für Deine Info, das Makro läuft, aber macht noch nicht genau das was ich will. Sortieren möchte ich folgende Zeilen z.B 20 KR1160-19.01 KERN 1.2436 59,5x14,0\20 Bo.6,2 12 KR1160-19.02 KERN 1,2436 44,5x14,0\20 Bo.6,2 5 KR1160-19.03 KERN 1,2436 20,5x14,0\20 Bo.6,2 Auflisten möchte ich nach .01 bis .03 aber .01 unten beginnend. Der Befehl: RUN GRAPHIC ("sort -r ´-t´ +2 ´LISTE´> ´LISTE_sortiert´") listet zwar die Spalte 2 aber ich glaub er geht auch durch die nachfolgende Spalten. Hast du eine Idee Gruß Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
friedhelm at work Mitglied Techniker Aluminium Profile
Beiträge: 882 Registriert: 01.04.2003 Creo Elements Direct /Drafting 17+20.x ui classic-Tablett + Ribbon, Modeling 17-20.0,.2,.4,.5 Lizenz auf USB-Netzwerkadapter PE-Express 8 Win 10 Enterprise 64 @work Win 10 Pro 64 @home Notepad++,IrfanView,eDrawings, ....
|
erstellt am: 30. Mrz. 2007 12:46 <-- editieren / zitieren --> Unities abgeben: Nur für thomasvoe
Hallo Thomas Du hast also diese Quelle Zitat: Original erstellt von thomasvoe: Sortieren möchte ich folgende Zeilen z.B 20 KR1160-19.01 KERN 1.2436 59,5x14,0\20 Bo.6,2 12 KR1160-19.02 KERN 1,2436 44,5x14,0\20 Bo.6,2 5 KR1160-19.03 KERN 1,2436 20,5x14,0\20 Bo.6,2
Wûrdest Du bitte jetzt mal posten wie das gewünschte Resultat aussehen soll, damit wir da klar sehen. Gruss Friedhelm ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
thomasvoe Mitglied Konstrukteur
Beiträge: 17 Registriert: 28.04.2005
|
erstellt am: 02. Apr. 2007 11:26 <-- editieren / zitieren --> Unities abgeben:
Hallo Friedhelm, das Ergebnis sollte dann so aussehen: 5 KR1160-19.03 KERN 1,2436 20,5x14,0\20 Bo.6,2 12 KR1160-19.02 KERN 1,2436 44,5x14,0\20 Bo.6,2 20 KR1160-19.01 KERN 1.2436 59,5x14,0\20 Bo.6,2 also nur nach der Spalte .01 bis .03 sortiert .01 unten beginnend egal was für Werte in den nachfolgenden Spalten noch kommen. Gruß Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
friedhelm at work Mitglied Techniker Aluminium Profile
Beiträge: 882 Registriert: 01.04.2003 Creo Elements Direct /Drafting 17+20.x ui classic-Tablett + Ribbon, Modeling 17-20.0,.2,.4,.5 Lizenz auf USB-Netzwerkadapter PE-Express 8 Win 10 Enterprise 64 @work Win 10 Pro 64 @home Notepad++,IrfanView,eDrawings, ....
|
erstellt am: 02. Apr. 2007 12:45 <-- editieren / zitieren --> Unities abgeben: Nur für thomasvoe
Danke Thomas, Dann versuch mal diese: RUN GRAPHIC ("sort -r -n ´-t´ +1 ´LISTE´> ´LISTE_sortiert´") und auch mal RUN GRAPHIC ("sort -r -n ´LISTE´> ´LISTE_sortiert´") Der Parameter -n hinter sort bedeutet laut Buch: "Numerische Werte am Feldanfang werden entsprechend dem numerischen Wert sortiert" und jetzt Daumen halten. Gruss Friedhelm ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
thomasvoe Mitglied Konstrukteur
Beiträge: 17 Registriert: 28.04.2005
|
erstellt am: 02. Apr. 2007 13:44 <-- editieren / zitieren --> Unities abgeben:
Hallo Friedhelm, wenn ich ´-t´ weglasse erkennt das Programm keine Spalten, wenn ich -r weglasse wird nicht umgedreht egal wie ichs mache das Programm geht in jede Spalte und sucht sich den nächsten höheren Buchstaben (Zahl?) und sortiert so, ich hab dan keine .01 .02 .03 übereinander stehen. Es braucht einen Befehl der sagt, geh mir nicht in Spalte 3 hinein. Frage: Welches Buch hast du zum nachschauen, ist es das von Fischer? Gruß und Danke für die Mühe Thomas Anm. Stetiger Tropfen höhlt den Stein. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
friedhelm at work Mitglied Techniker Aluminium Profile
Beiträge: 882 Registriert: 01.04.2003 Creo Elements Direct /Drafting 17+20.x ui classic-Tablett + Ribbon, Modeling 17-20.0,.2,.4,.5 Lizenz auf USB-Netzwerkadapter PE-Express 8 Win 10 Enterprise 64 @work Win 10 Pro 64 @home Notepad++,IrfanView,eDrawings, ....
|
erstellt am: 02. Apr. 2007 15:22 <-- editieren / zitieren --> Unities abgeben: Nur für thomasvoe
Noch eine Frage zur Begriffsbestimmung, wo ist bei Dir zB. Spalte 3 Die Spalten werden standard durch die Leerzeichen bestimmt und sehen so aus: Code:
Spalte: 1--2------------3----4------5------------6----- 20 KR1160-19.01 KERN 1.2436 59,5x14,0\20 Bo.6,2 12 KR1160-19.02 KERN 1,2436 44,5x14,0\20 Bo.6,2 5 KR1160-19.03 KERN 1,2436 20,5x14,0\20 Bo.6,2
Interpretiere ich richtig, dass Du Spalte 3 hier haben möchtest?
Code:
Spalte: 1--2---------3--4----5------6------------7----- 20 KR1160-19.01 KERN 1.2436 59,5x14,0\20 Bo.6,2 12 KR1160-19.02 KERN 1,2436 44,5x14,0\20 Bo.6,2 5 KR1160-19.03 KERN 1,2436 20,5x14,0\20 Bo.6,2
Weil .01, .02, .03 usw. deine Positionsnummern sind. und die Bezeichnung 'KR1160-19' varieren kann ?Bis dann Friedhelm
------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
thomasvoe Mitglied Konstrukteur
Beiträge: 17 Registriert: 28.04.2005
|
erstellt am: 02. Apr. 2007 16:06 <-- editieren / zitieren --> Unities abgeben:
Hallo Friedhelm, meine Stückliste sieht z. B. so aus: Spalte: 1--2------------3----4------5------------6----- 20 KR1160-19.01 KERN 1.2436 59,5x14,0\20 Bo.6,2 12 KR1160-19.02 KERN 1,2436 44,5x14,0\20 Bo.6,2 Stg. Re Fase 5 5 KR1160-19.03 KERN 1,2436 20,5x14,0\20 Bo.6,2 Stg. Li. Fase 2 Spalte 1 sind Stückzahlen Spalte 2 sind Teile.Nr. ich mochte nur nach Spalte 2 sortieren. Glaub wir kommen der Sache näher Gruß Thomas
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
friedhelm at work Mitglied Techniker Aluminium Profile
Beiträge: 882 Registriert: 01.04.2003 Creo Elements Direct /Drafting 17+20.x ui classic-Tablett + Ribbon, Modeling 17-20.0,.2,.4,.5 Lizenz auf USB-Netzwerkadapter PE-Express 8 Win 10 Enterprise 64 @work Win 10 Pro 64 @home Notepad++,IrfanView,eDrawings, ....
|
erstellt am: 02. Apr. 2007 16:56 <-- editieren / zitieren --> Unities abgeben: Nur für thomasvoe
Genau das macht der Befehl, den ich Dir im Beitrag vom 13. Mrz. 2007 20:48 gezeigt habe. Code: DEFINE Teileliste_macro LOCAL Dateiname LOCAL Dateiname_sortiert LET Dateiname '/tmp/Teileliste.txt' LET Dateiname_sortiert '/tmp/Teileliste_sortiert.txt' PARTS_LIST COUNT_TREE DEL_OLD Dateiname RUN GRAPHIC ("sort -r '-t ' +2 "+Dateiname+" > "+Dateiname_sortiert) EDIT_FILE Dateiname_sortiert END_DEFINE Die Parameter hinter sort bedeuten: -r umgekehrte Sortierfolge '-t ' Leerzeichen als Trennzeichen +2 2.Spalte
Ich habe gerade noch mal alles nachgesehen und sehe in deiner Antwort vom 30. Mrz. 2007 11:36
Code: Der Befehl: RUN GRAPHIC ("sort -r ´-t´ +2 ´LISTE´> ´LISTE_sortiert´")
Könnte es sein, dass Du das Leerzeichen hinter dem -t weggelassen hast? Wie schriebst du so schön am 08. Mrz. 2007 09:05 Zitat: Was ein Leerzeichen ausmachen kann, unglaublich.
Versuch das bitte noch mal. Gruss Friedhelm------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
thomasvoe Mitglied Konstrukteur
Beiträge: 17 Registriert: 28.04.2005
|
erstellt am: 04. Apr. 2007 14:10 <-- editieren / zitieren --> Unities abgeben:
Hallo Friedhelm, das Makro läuft mit einem Blank nach -t ´ habe ich ausprobiert ohne dies käme nur eine leere blaue Seite. Also das ist erledigt. Auch sortieren in Spalte +2 funktioniert aber das +2 heisst wohl sortiere alles ab Spalte 2 und das ist nicht das was ich will, es soll nur innerhalb der Spalte 2 die Sortierung der ganzen Zeilen vorgenommen werden. Frage: kann ich das als logishe Tabelle ansehen, habe da was gelesen z.B. SORT_LTAB und REVERSE_SORT und SELECT_FROM_LTAB Gruß Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |