pete schrieb:Was ich auch oft brauche, ist die Möglichkeit, schnell einige Zeichen in einem String zu ändern.
Hierfür bietet AppleScript von Haus aus mit "text item delimiter" und "text items" eine blitzschnelle Methode, abgebildet in der Funktion replace.
Als praktisches Anwendungsbeispiel ersetzt die Funktion trim alle mehrfach hintereinander folgenden Vorkommen von Leerzeichen in einem String, und löscht alle vor und hinter dem String befindliche Leerzeichen.
Und wenn man schon dabei ist... Warum nicht gleich, statt 2 Kommandos (sed und awk) zu lernen, nur eines: perl...Daisy schrieb:Hi pete,
cool - aber wie Du schon bei 'sort' gemerkt hast, lohnt es sich oft, bei den Shell-Befehlen nachzuschauen. Auch dafür gibt's was Praktisches in der Shell: 'sed' - lies dich mal in die man-Page ein. Das löst Aufgaben wie diese mit' nem Einzeiler
Daisy schrieb:für die erste Aufgabe:
sed 's|A|B|g' (wobei in diesem Beispiel alle As durch Bs ersetzt werden - geht natürlich auch mit anderen Zeichen oder Strings bzw. mit Regular Expressions)
perl -pe 's/A/B/g'
perl -pe 'tr/A/B/'
Daisy schrieb:und für die zweite Aufgabe:
sed 's|^[\ ]*||' löscht die Leerzeichen vor ...
und
sed 's|[\ ]*$||' nach dem String
und
sed 's|\ [\ ]*|\ |g'* ersetzt alle Mehrfach-Leerzeichen durch ein einzelnes.
perl -pe 's/^ +//'
perl -pe 's/ +$//'
perl -pe 's/ +/ /g'
perl -pe 's/^ +//; s/ +$//; s/ +/ /g';
pete schrieb:Das macht ein Script allerdings auch langsamer, wenn es sehr häufig verwendet wird!
to getRange(thisList, startVal, endVal)
try
return (items startVal thru endVal of thisList)
on error
return (items itemNr(thisList, startVal) thru itemNr(thisList, endVal) of thisList)
end try
end getRange
pete schrieb:Wie regt man so etwas an?
Wir verwenden essentielle Cookies, damit diese Website funktioniert, und optionale Cookies, um den Komfort bei der Nutzung zu verbessern.
Für die Ihnen angezeigten Verarbeitungszwecke können Cookies, Geräte-Kennungen oder andere Informationen auf Ihrem Gerät gespeichert oder abgerufen werden.
Anzeigen und Inhalte können basierend auf einem Profil personalisiert werden. Es können mehr Daten hinzugefügt werden, um Anzeigen und Inhalte besser zu personalisieren. Die Performance von Anzeigen und Inhalten kann gemessen werden. Erkenntnisse über Zielgruppen, die die Anzeigen und Inhalte betrachtet haben, können abgeleitet werden. Daten können verwendet werden, um Benutzerfreundlichkeit, Systeme und Software aufzubauen oder zu verbessern.
Durch das Klicken des Buttons "Zustimmen" willigen Sie gem. Art. 49 Abs. 1 DSGVO ein, dass auch Anbieter in den USA Ihre Daten verarbeiten. In diesem Fall ist es möglich, dass die übermittelten Daten durch lokale Behörden verarbeitet werden.