Fischer-Bayern.de
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

exceltabellen durchsuchbar ohne Excel -> txt mit awk/grep

 
Neues Thema eröffnen   Neue Antwort erstellen    Fischer-Bayern.de Foren-Übersicht -> AppleScript X
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
grenzli
•-->
•-->


Anmeldedatum: 05.02.2010
Beiträge: 39

BeitragVerfasst am: 26.10.2012 - 23:12    Titel: exceltabellen durchsuchbar ohne Excel -> txt mit awk/grep Antworten mit Zitat

Hi zusammen,

folgender grundzustand: über eine citrix (quasi screensharing auf einen windows rechner) freigabe greife ich auf eine Arbeitstabelle zu, die momentan ca 2300 Zeilen hat, mit ca 15 Spalten Text/Zahlen etc.

ich möchte die Inhalte der Tabelle für einen größeren Personenkreis (ohne Excel) mit den wichtigsten Informationen zugänglich machen.

Da ich in der Vergangenheit ein paar der Vorzüge des awk (hubi sei dank) und grep erfahren durfte, schrub ich mir ein script zusammen, dass in der txt datei die entsprechende Zeile sucht (Nach Eingabe der Artikelnummer) und einzelne Felder der Zeile für den Benutzer ausgibt (über Display dialog).
Alles schön und gut. Nur dass sich die Tabelle in unregelmäßigen Abständen erweitert, es kommen neue Einträge hinzu, die ich dann neu in meine Txt-Datenbank importieren muss, um die Abfragen up-to-Date zu halten.

Mein Ansatz ist folgender:
Über das screensharing die gesamte Tabelle markieren und kopieren
im Osx dann die Zwischenablage in eine Txt-Datei schreiben, zwei Ersetzungen machen und zum schluss noch die Line-Breaks umwandeln, da ja das grep sonst nichts findet


Hier der Code:

Code:

set tabellenzwischenablage to the clipboard
set arbeitsdatei to (path to desktop from user domain) & "work.txt" as text as alias
set finaldatei to (path to desktop from user domain) & "final.txt" as text as alias
do shell script "echo " & quoted form of tabellenzwischenablage & ">" & quoted form of POSIX path of arbeitsdatei
set new to do shell script "awk '{gsub(/;/,\" \");print}' " & quoted form of POSIX path of arbeitsdatei
set new to do shell script "awk '{gsub(/   /,\";\");print}' " & quoted form of POSIX path of arbeitsdatei
do shell script "echo " & quoted form of new & ">" & quoted form of POSIX path of arbeitsdatei
do shell script "tr '\\r' '\\n' <" & quoted form of POSIX path of arbeitsdatei & " >" & quoted form of POSIX path of finaldatei


Laaaange Rede kurzer Sinn, vielleicht kann tr das gleiche wie awk und vielleicht braucht man das 2. echo nicht, aber so funktioniert es für mich.
Die Zwischenablage (Einträge der Tabelle ausm Windows) landet in der txt datei und kann von dem andren (funktionierenden) Script durchsucht werden.

Das Problem ist nur, dass die 2300 Einträge der Tabelle anscheinend zuviele sind, da das script mit weniger Zeilen funktioniert und ich nun glaub, dass es was mit der Menge der Einträge zu tun hat...


Fällt euch also noch ein andrer weg ein?

Besten Dank schonmal.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
grenzli
•-->
•-->


Anmeldedatum: 05.02.2010
Beiträge: 39

BeitragVerfasst am: 28.10.2012 - 15:36    Titel: Antworten mit Zitat

hab mir selbst geholfen,

das problem der zu großen datenmenge umgehe ich in dem die finaldatei mitwächst und ich zumindest um sie auf den aktuellen stand zu bringen, mit kleineren häppchen füttere.
Das funktioniert.

Dazu nötig ist nur ein zweites ">" im letzten Befehl

do shell script "tr '\\r' '\\n' <" & quoted form of POSIX path of arbeitsdatei & " >>" & quoted form of POSIX path of finaldatei

der bewirkt, dass der Inhalt der Arbeitsdatei an die finaldatei angehängt wird und nicht ersetzt wird.

schönen Sonntag
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Fischer-Bayern.de Foren-Übersicht -> AppleScript X Alle Zeiten sind GMT + 2 Stunden
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2002 phpBB Group
Deutsche Übersetzung von phpBB.de


AppleScript für absolute Starter