PDA

View Full Version : [Resolved] Applescript: Inventory of local machine




h1068
Mar 6, 2013, 03:34 PM
Hello, Im using this script to get the serial number of my machine.


set sys to do shell script "/usr/sbin/system_profiler SPHardwareDataType " without altering line endings

set StringVariable1 to "Serial"

set Serial_Number to (do shell script "echo \"" & sys & "\" | grep \"" & StringVariable1 & "\"") as text


Output: Hardware Overview:

Model Name: iMac
Model Identifier: iMac9,1
Processor Name: Intel Core 2 Duo
Processor Speed: 2.26 GHz
Number Of Processors: 1
Total Number Of Cores: 2
L2 Cache: 3 MB
Memory: 4 GB
Bus Speed: 1.07 GHz
Boot ROM Version: IM91.008D.B08
SMC Version (system): 1.44f0
Serial Number (system): H0021W0953333

\" | grep \"Serial\""
end tell
Result:
" Serial Number (system): H0021W0953333"




What would i need to add in to just retrieve "H0021W0953333 as my output, instead of " Serial Number (system): H0021W0953333"

Thanks


Resolved: Thank you chown33, this worked for me.

Replace your multiline AppleScript code with this one line:

set Serial_Number to do shell script "/usr/sbin/system_profiler SPHardwareDataType | awk '/Serial/ { print $NF }' "



subsonix
Mar 6, 2013, 04:00 PM
What would i need to add in to just retrieve "H0021W0953333 as my output

You could try: | cut -d" " -f4 or | awk '{print $4}'

You would need to escape the quotes though.

chown33
Mar 6, 2013, 04:01 PM
Replace your multiline AppleScript code with this one line:

set Serial_Number to do shell script "/usr/sbin/system_profiler SPHardwareDataType | awk '/Serial/ { print $NF }' "