Ser nu att du skrev att du var applescript-novis, sorry, mitt svar var inte avsett för noviser.
I Applescript finns något som kallas för listor. Exempel:
set aListOfStuff to {"En", " svart", " katt", " satt", " på", " en", " väg"}. Denna lista består av textsnuttar. Man kan i en lista blanda datatyper sålunda och även ha listor i andra listor:
set aListOfStuff to {"En svart katt satt på en väg", 12, 2006-12-01, {"Banan", "Apelsin", "Äpple"}}
Man kan "hämta" en grej ur en lista sålunda:
get item 2 of list aListOfStuff
--> "En svart katt satt på en väg"
Vad är då Applescript's text item delimiter då? Jo, man kan nämligen be Applescript att dela upp något i en lista. Det tecken som då används som "delare" är just Applescript's text item delimiter.
Exempel:
set someString to "En% svart% katt% satt% på% en% väg"
set AppleScript's text item delimiters to "%"
set someStringAsList to every text item of someString
--> {"En", " svart", " katt", " satt", " på", " en", " väg"}
Man kan sedan sätta ihop en lista med strängar till en sträng igen genom att använda sig av:
set someString to "En% svart% katt% satt% på% en% väg"
set AppleScript's text item delimiters to "%"
set someStringAsList to every text item of someString
set AppleScript's text item delimiters to ""
set someStringAsListAsStringAgain to someStringAsList as string
--> "En svart katt satt på en väg"
Noter att jag sätter delimitern till en tom sträng igen, annars skulle Applescript returnera detta:
--> "En% svart% katt% satt% på% en% väg"
Vad har man då för nytta av detta? Jo, detta är Applescripts sök och ersätt!
Så om jag då tex skulle vilja ersätta "svart" med "grå" i texten ovan, så kan jag alltså göra så här:
set someString to "En svart katt satt på en väg"
set AppleScript's text item delimiters to "svart" -- Ordet jag vill ha bort
set someStringAsList to every text item of someString
set AppleScript's text item delimiters to "grå" -- Ordet jag vill ersätta det med
set someStringAsListAsStringAgain to someStringAsList as string
--> "En grå katt satt på en väg"
I ditt fall så kan du alltså göra något liknande, antag att du har den där snutten i en text som innehåller "Inet " före ipnumret och " netmask " efteråt. Man tar alltså och delar först upp den långa strängen i två delar med "Inet " som delare, då får du två strängar, den andra objektet i listan innehåller ip-numret och lite skräp efteråt.
Tag och omvandla det andra objektet till en sträng, dela upp det i en lista igen, men denna gång med " netmask" som delare. Då får du igen en lista med två saker i, men i denna lista är ip-numret du är på jakt efter det första objektet i listan.
Så här kan det se ut:
set someString to "en1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::216:cbff:fe02:412e%en1 prefixlen 64 scopeid 0x5
inet xxx.xxx.xxxx.xxx netmask 0xffffff00 broadcast 192.168.200.255
ether 00:16:cb:02:41:2e
media: autoselect status: active
supported media: autoselect"
set AppleScript's text item delimiters to "inet " -- Första delaren
set someStringAsList to every text item of someString
set someString to second item of someStringAsList as string -- hämta andra objektet i listan
set AppleScript's text item delimiters to " netmask " -- Andra delaren
set someStringAsList to every text item of someString
set someStringAsList to first item of someStringAsList as text -- hämta första objektet i listan
-->"xxx.xxx.xxxx.xxx"
Var jag tydligare nu? Nästa inlägg, handlar om hur du får tag i resultatet av att köra ett terminalkommando.