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

Such Inhalte v. Files: AS<-Shell<-UNIX<->Spotlig
Gehe zu Seite 1, 2, 3  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    Fischer-Bayern.de Foren-Übersicht -> AppleScript X
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
spirigwi
•----->
•----->


Anmeldedatum: 10.07.2003
Beiträge: 1529
Wohnort: Olten-CH

BeitragVerfasst am: 09.07.2007 - 10:55    Titel: Such Inhalte v. Files: AS<-Shell<-UNIX<->Spotlig Antworten mit Zitat

http://www.fischer-bayern.de/phpBB2/viewtopic.php?t=2350&postdays=0&postorder=asc&start=0
Es scheinen dort noch Alternativ-Wege offen zu sein, deshalb separat die Frage:
DanEL hat Folgendes geschrieben:
Kann AppleScript, die Auftragsnummern auch aus einer Textdatei auslesen?

Kann UNIX eigentlich nicht direkt nach Inhalten sämtlicher seiner Textdateien suchen und die Treffer in einer POSIX-Pfad enthaltenden Liste rückgeben? Skeeve hat dort eine diesbezügliche Andeutung gemacht
Wie kommt man da ran mit AS? ZB analog zum Word, welches den Mac dazu zwingen kann, nach Textinhalten in seinen Dokumenten zu suchen. Vielleicht weil ich Spotlight-Anfänger bin, vermisse ich dort solches?
Shell oder Perl müsste doch Zugriff auf die Inhalte von Textdateien haben mit zumutbaren Suchzeiten?
Weiss jemand ob sich da ev. bald etwas "greifbares für AS-Fans" tut bei Mac?
_________________
 Skript-Fan => ein � -Fan =>Scr¿¿-KongFuSius_Kurpfusius


Zuletzt bearbeitet von spirigwi am 25.07.2007 - 01:10, insgesamt 4-mal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden AIM-Name
Skeeve
•---->
•---->


Anmeldedatum: 20.04.2006
Beiträge: 1068

BeitragVerfasst am: 09.07.2007 - 13:55    Titel: Re: Suche Inhalte von Textdateien: AS<-Shell<-UNIX-> Antworten mit Zitat

grep ist Dein Freund.

Code:
man grep
im Terminal eingeben oder online lesen... Ist zwar nicht speziell das Mac OS X grep, aber für eine Übersicht reicht's
_________________
"All problems are solved in slightly less than half an hour" (Chumbawamba, "Hey Hey We're The Junkies")
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
spirigwi
•----->
•----->


Anmeldedatum: 10.07.2003
Beiträge: 1529
Wohnort: Olten-CH

BeitragVerfasst am: 10.07.2007 - 22:29    Titel: Antworten mit Zitat

und jetzt?
NAME
grep, egrep, fgrep - print lines matching a pattern

SYNOPSIS
grep [options] PATTERN [FILE...]
grep [options] [-e PATTERN | -f FILE] [FILE...]

DESCRIPTION
Grep searches the named input FILEs (or standard input if no files are
named, or the file name - is given) for lines containing a match to the
given PATTERN. By default, grep prints the matching lines.

In addition, two variant programs egrep and fgrep are available. Egrep
is the same as grep -E. Fgrep is the same as grep -F.

OPTIONS
-A NUM, --after-context=NUM
Print NUM lines of trailing context after matching lines.
Places a line containing -- between contiguous groups of
matches.

-a, --text
Process a binary file as if it were text; this is equivalent to
the --binary-files=text option.

-B NUM, --before-context=NUM
Print NUM lines of leading context before matching lines.
Places a line containing -- between contiguous groups of
matches.

-C NUM, --context=NUM
Print NUM lines of output context. Places a line containing --
between contiguous groups of matches.

-b, --byte-offset
Print the byte offset within the input file before each line of
output.

--binary-files=TYPE
If the first few bytes of a file indicate that the file contains
binary data, assume that the file is of type TYPE. By default,
:
was muss ich tun? Embarassed Embarassed Embarassed Embarassed 1000+1Nacht?
Mein soeben 80-j verstorbener Onkel hatte mir eines vor: er konnte mit weissen Buchstaben auf schwarzem Hintergrund codes auswändig, verstarb selig und das Erbe war nicht mehr zu knacken, weil auf seinem Prä-Windows niemand mehr lesen und schreiben konnte. geht das nun schon wieder los im terminal?
_________________
 Skript-Fan => ein � -Fan =>Scr¿¿-KongFuSius_Kurpfusius
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden AIM-Name
Skeeve
•---->
•---->


Anmeldedatum: 20.04.2006
Beiträge: 1068

BeitragVerfasst am: 11.07.2007 - 14:19    Titel: Antworten mit Zitat

spirigwi hat Folgendes geschrieben:
und jetzt? was muss ich tun?

Lesen, Lernen, Ausprobieren...

Auswendig mußt Du da nix lernen. Kann man jederzeit alles nachlesen.

Einfaches Besipiel:
Code:
grep -rli 'konfusius' ~

Sucht rekursiv ab Deinem Homedirectory (~) nach Dateien die den Text konfusius enthalten und ignoriert dabei dieSchreibweise. Gefundene Stellen werden nicht ausgegeben, was der Normalfall ist, sondern es werden nur die Dateinamen aufgelistet.
_________________
"All problems are solved in slightly less than half an hour" (Chumbawamba, "Hey Hey We're The Junkies")
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
spirigwi
•----->
•----->


Anmeldedatum: 10.07.2003
Beiträge: 1529
Wohnort: Olten-CH

BeitragVerfasst am: 11.07.2007 - 17:59    Titel: Antworten mit Zitat

Das war aber wiedermal von feinsten. Gut dargestellt! gratuliere. Vielen Dank! Lektion 1 hätte ich somit hinter mir.

PS: mein Onkel auf Prä-Paläontho(Un)logischem "WEISS auf SCHWARZ"( diese Obtion bietet auch Mac bei Systemeinstellungen> Bedienungshilfen Wink ) wusste aber noch einen Code aus 4 Buchstaben auswEndig, den man niemals hineintippen durfte!! (Plattenlöscher sagte er zu Lebzeiten)
Wenns so einen gibt fürs Terminal, meine letzte Bitte:
Bitte mitteilen, damit ich ruhig
Skeeve hat Folgendes geschrieben:
Lesen, Lernen, Ausprobieren...
und dann schlafen kann, auch ruhig: dann würde ich diesen dann wirklich büffeln und ausWENDIG lernen. bis dann, Ach du Schreck!
_________________
 Skript-Fan => ein � -Fan =>Scr¿¿-KongFuSius_Kurpfusius
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden AIM-Name
Skeeve
•---->
•---->


Anmeldedatum: 20.04.2006
Beiträge: 1068

BeitragVerfasst am: 11.07.2007 - 19:38    Titel: Antworten mit Zitat

Probier soviel aus wie du willst. Solange Du kein "sudo" eingibst, solltest Du nichts systemwichtiges zerstören können.

Natürlich kannst Du unter Deinen Dateien extremes Chaos anrichten, wenn Du die Befehle:
rm - remove, Dateilöschen
mv - move, Dateien verschieben / umbennen
verwendest.

Ungeschickte Ausgabeumleitungen (>, >>) können natürlich auch Dateien zerstören.

Wenn Du unsicher bist, richte lieber einen Extra User dafür ein.

Du mußt nichtmal Dich ausloggen. Ein einfaches "login andererUser" im Terminal reicht dafür und Du kannst nicht mehr Spiris, sondern nur noch die Dateien vom anderenUser zerstören.
_________________
"All problems are solved in slightly less than half an hour" (Chumbawamba, "Hey Hey We're The Junkies")
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
spirigwi
•----->
•----->


Anmeldedatum: 10.07.2003
Beiträge: 1529
Wohnort: Olten-CH

BeitragVerfasst am: 11.07.2007 - 20:07    Titel: Antworten mit Zitat

Skeeve hat Folgendes geschrieben:
.. "sudo" ACHTUNG, ja NICHT!
rm - remove, Dateilöschen
mv - move, Dateien verschieben / umbennen

Ich hoffe, ist mir niemand böse, dies als Warnschild an meiner Baustelle stehen zu lassen, Klasse! Vielen Dank, das beruhigt wirklich.

Nur EINE Frage, gleich in Bezug auf das ENDE meines Vorhabens ("Texte in UNIX heraussuchen-> an AS Listen die POSIX-Pfade liefern.."oder so ähnlich) :

mv - move
wie geht die Logik?(gebrannt vom AS-Aliasse erzeugen):
Selbst gebastelter Plan hat Folgendes geschrieben:
AUSGANGSPUNKT(?) --> mv - move --> ZIEL(?)


Also: wie "spricht man es aus in terminal-jargon" : AUSGANGSPUNKT nach ZIEL-Ordner verschieben
Zweck-Beisp: Verschiebe alles, das die Adresse ["..AS-Kurpfusius...Ch.."] enthält, in Ordner "Himalaya"

(versteht man das Problem eines TOTAL-IGNORANTEN?)
_________________
 Skript-Fan => ein � -Fan =>Scr¿¿-KongFuSius_Kurpfusius
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden AIM-Name
Skeeve
•---->
•---->


Anmeldedatum: 20.04.2006
Beiträge: 1068

BeitragVerfasst am: 11.07.2007 - 20:54    Titel: Antworten mit Zitat

Datei verschieben / umbenennen
mv /Pfad/zur/Quelldatei /Pfad/zur/Zieldatei
Achtung: Zieldatei wird rigoros überschrieben!

Mehrere Dateien verschieben
mv /Pfad/zur/Quelldatei1 /Pfad/zur/Quelldatei2 ... /Pfad/zum/Zielordner/

Man kann auch mit "Wildcards" arbeiten :
mv *.mp3 mein/MP3-Verzeichnis/
_________________
"All problems are solved in slightly less than half an hour" (Chumbawamba, "Hey Hey We're The Junkies")
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
spirigwi
•----->
•----->


Anmeldedatum: 10.07.2003
Beiträge: 1529
Wohnort: Olten-CH

BeitragVerfasst am: 11.07.2007 - 21:08    Titel: Antworten mit Zitat

Perfekt!! Juchuu EDIT zur besseren Überlesbarkeit: PS nur so als Nebenwirkung, hab ich endlich bei Wildcards 1) die >class< meiner eigenen Sätze und 2) vermeintliche Rolle in Snows Forum beschrieben erhalten: ad 1) >>In der Sprachwissenschaft steht es vor ungrammatischen, nicht akzeptablen und nicht belegten Wörtern oder Sätzen<< (Text-Farben sind original!) ad 2) das was dort unter Sport steht(oder wars Spott¿) Laughing
---------------------------------------------------------------------------------------
Skeeve hat Folgendes geschrieben:
mv /Pfad/zur/Quelldatei /Pfad/zur/Zieldatei

könntest du ein Beispiel "ausformulieren?
ein saftiges EDIT: ich übernehme das mal selbst:

Vorausgestzt, man hat etwas angeklickt auf Finder:
Diese kleine AS-Übersetzungsmaschine für Pfade (wenn sie denn sogar noch im Skript-Menu verankert ist!) ist doch mit nichst mehr an Kürze und Memorisierbarkeit zu unterbieten ?
..das Rennen läuft, wer wagt es, was besseres zu zeigen?
hat Folgendes geschrieben:
tell application "Finder" to set Sel to get selection as alias as text
set the clipboard to quoted form of POSIX path of Sel


Das Zwischenspeicherprodukt wird damit so erscheinen, wenn Z.B im terminal "abgeladen" :
hat Folgendes geschrieben:
'/Users/USERNAME/Desktop/cliclick'


als Ergänzung die Variablen-Ergebnisse der einzelnen Code-Zeilen:
{Sel:"StartupDiskNAME:Users:USERNAME:Desktop:cliclick"}
{QTF:"'/Users/USERNAME/Desktop/cliclick'"}

(..falls QTF als Variable an Stelle des the clipboard für die 2. Zeile eingesetzt wird.)
stimmts?
_________________
 Skript-Fan => ein � -Fan =>Scr¿¿-KongFuSius_Kurpfusius
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden AIM-Name
spirigwi
•----->
•----->


Anmeldedatum: 10.07.2003
Beiträge: 1529
Wohnort: Olten-CH

BeitragVerfasst am: 15.07.2007 - 13:13    Titel: Antworten mit Zitat

Nun wage ich mich gut ausgerüstet, schon wesentlich tiefer in terminals Abgründe hinein:

--die mit meinem 2-Zeiler durch "select" erzeugten Pfade:
set ZIELtxt to {ZIEL:"'/Users/spirou/Desktop/sicher/'"}
set AUSGANGtxt to {AUSGANG:"'/Users/spirou/Desktop/cliclick'"}
-----------------
set ZIEL to ZIEL of ZIELtxt
set AUSGANG to AUSGANG of AUSGANGtxt
--------------
set the clipboard to "mv " & AUSGANG & " > " & ZIEL
--> mv '/Users/spirou/Desktop/cliclick' > '/Users/spirou/Desktop/sicher/'

Nun die Probleme:
wenn ich also im terminal in "Neuer Befehl..." (APFEL+GROSS+N) das folgende ablasse
mv '/Users/spirou/Desktop/cliclick' > '/Users/spirou/Desktop/sicher/'

erhalte ich Fehler:
hat Folgendes geschrieben:
usage: mv [-f | -i | -n] [-v] source target
mv [-f | -i | -n] [-v] source ... directory
[Prozess abgebrochen - Ergebnis 64]


wenn ich aber im terminal folgendes ablasse:
mv /Users/spirou/Desktop/cliclick > /Users/spirou/Desktop/sicher/
dann macht er mir wunschgemäss alles: terminal verschiebt das clickclick des desktops in Ordner "SICHER"(+ überschreibt dortig gleichnamiges gnadenlos!), aber:
Rückmeldung: hat Folgendes geschrieben:
mv: rename > to /Users/spirou/Desktop/sicher/>: No such file or directory
[Prozess abgebrochen - Ergebnis 1]


1.Frage: wie kriege ich auf die Schnelle die '-Zeichen des Pfades wieder los?
2. Frage : warum gibt es noch eine Fehlermeldung trotz richtig durchgeführter Aktion?
_________________
 Skript-Fan => ein � -Fan =>Scr¿¿-KongFuSius_Kurpfusius
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden AIM-Name
Skeeve
•---->
•---->


Anmeldedatum: 20.04.2006
Beiträge: 1068

BeitragVerfasst am: 15.07.2007 - 14:01    Titel: Antworten mit Zitat

Darf ich fragen, woher Du bei
Code:
mv /Users/spirou/Desktop/cliclick > /Users/spirou/Desktop/sicher/
das ">" genommen hast? Das gehört dort nämlich nicht hin.

">" dient der Ausgabeumlenkung.

Wenn Du im Terminal z.B. mal eingibst
Code:
echo "Hallo Konfusius"

Dann antwortet es Dir direkt mit
Code:
Hallo Konfusius

Gibst Du jedoch ein
Code:
echo "Hallo Konfusius" > freundlich.txt

Dann antwortet es Dir gar nicht (Unix Weisheit: No News is Good News)
Wenn Du Dir den Inhalt der neuen Datei "freundlich.txt" ansiehst, wirst Du die nette Begrüßung darin finden.

Was Dein mv angeht: Lasß das ">" weg und schon sollte es klappen.
_________________
"All problems are solved in slightly less than half an hour" (Chumbawamba, "Hey Hey We're The Junkies")
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
spirigwi
•----->
•----->


Anmeldedatum: 10.07.2003
Beiträge: 1529
Wohnort: Olten-CH

BeitragVerfasst am: 15.07.2007 - 17:28    Titel: Antworten mit Zitat

Freude gross, Dank riesig:
Skeeve hat Folgendes geschrieben:
">" dient der Ausgabeumlenkung.
Embarassed glatt überlesen! kommt davon wenn man nur Warnschilder liest aus nackter Angst, aus Snows Forum katapultiert zu werden..
Question
2= (noch von oben hängig) :
hat Folgendes geschrieben:
1.Frage: wie kriege ich auf die Schnelle die '-Zeichen des Pfades wieder los?

Mangels Antwort ein heroischer "Eigenversuch", wie es Ärzte zu tun pflegen
hat Folgendes geschrieben:
tell application "Finder" to set Sel to get selection as alias as text
set the clipboard to text 2 thru ((count (quoted form of POSIX path of Sel)) - 2) of (quoted form of POSIX path of Sel)

hiemit könnte ich also ein Objekt auf dem Mac markieren, dann obiges AS im Skript-Menu auslösen lassen und das Res direkt ins terminal abladen:
Und Wunder oh ach: der Pfad stä(ü?)(i?)mme doch.

absolut wütend Mist daran: fürs teminal muss man komplette Befehle inkl. 2. Pfad und dazwischen sämtlichen Operatoren eingeben wenn man nicht das "Neuer Befehl..." Guggerli-Fensterli brauchen will, das noch viel unnützer für den Zusammenbau wäre, weil es nämlich nur einen Schlitz darbietet. Bevor ich also auf "OSX-mach endlich ALLES As-freundlich" warte, versuch ich die ganze Komposition auf dem AS, dann clippe ich alles zum Finale. Wartet nur auf Götterdämmerung!
_________________
 Skript-Fan => ein � -Fan =>Scr¿¿-KongFuSius_Kurpfusius
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden AIM-Name
Skeeve
•---->
•---->


Anmeldedatum: 20.04.2006
Beiträge: 1068

BeitragVerfasst am: 15.07.2007 - 22:15    Titel: Antworten mit Zitat

Was Du mit dem '-Loswerden meinst, verstehe ich nicht. Im Gegenteil! Meistens braucht man sie. Nimm nur mal den Pfad
/Macintosh HD/Users/konfusius/
Der enthält ein Leerzeichen.

Leerzeichen bedeuten für die Shell aber, daß hier das Ende ist und was neues anfängt.

Folglich muß man der Shell irgendwie beibringen, daß das Leerzeichen mitnichten das Ende ist, sondern zum Pfad dazugehört. Dazu gibt es 2 Möglichkeiten.


  1. Maskieren. Das kennst Du schon von AppleScript. WEnn Du ein " in einem String brauchst, setzt Du einen Backslash \ davor.
    /Macintosh\ HD/Users/konfusius/
  2. Nun ist das mit dem Backslash arg lästig, wenn mehrere solcher Zeichen auftauchen. Da haben die Shell Götter uns 2 (eigentlich 3) Arten von "Quotes" spendiert.

    1. Das ' - Hier wird alles bis zum nächsten ' zusammengefaßt zu einer Einheit
    2. Das " - Hier wird auch alles bis zum nächsten " zusammengefaßt, allerdings kann man Variablen mit einbauen. Wenn man also eine Variabla hat
      Code:
      spirigwi=konfusius
      echo "Hallo $spirigwi!"

      Dann wird deren Wert eingebaut.

_________________
"All problems are solved in slightly less than half an hour" (Chumbawamba, "Hey Hey We're The Junkies")
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
spirigwi
•----->
•----->


Anmeldedatum: 10.07.2003
Beiträge: 1529
Wohnort: Olten-CH

BeitragVerfasst am: 16.07.2007 - 16:54    Titel: Antworten mit Zitat

Info vom allerbesten, du machst mich noch zum terminal-freek-fan Weihnachts-Smiley
jetzt läfust es nämlich reibungslos:
tell application "Finder" to set Sel to get selection as alias as text
set the clipboard to quoted form of POSIX path of Sel
display dialog "Wenn die Listen mit Pfaden gefüllt sind kanns wieter laufen:"
--Nach mit obigem 2-Zeiler durch "select" erzeugte Pfade abgeladen:
set ZIEL to "'/Users/spirou/Desktop/sicher/'"
set AUSGANG to "'/Users/spirou/Desktop/cliclick'"
--------------
set the clipboard to "mv " & AUSGANG & " " & ZIEL
"mv '/Users/spirou/Desktop/cliclick' '/Users/spirou/Desktop/sicher/'"
--< das lade ich aus dem clipboard ins terminal ab und läuft wie gölt.
Bin jetzt fähig Pfade zu verwalten, jetzt kann ich mich der Frage: text-suchen mit grep und der rückgemeldeten Liste "verwursten" widmen. hab aber noch paar Sprechstunden...
_________________
 Skript-Fan => ein � -Fan =>Scr¿¿-KongFuSius_Kurpfusius
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden AIM-Name
Skeeve
•---->
•---->


Anmeldedatum: 20.04.2006
Beiträge: 1068

BeitragVerfasst am: 16.07.2007 - 17:03    Titel: Antworten mit Zitat

Deine ' kommen übrigens vom "quoted form of".
_________________
"All problems are solved in slightly less than half an hour" (Chumbawamba, "Hey Hey We're The Junkies")
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
Gehe zu Seite 1, 2, 3  Weiter
Seite 1 von 3

 
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