Posted on 07-02-2020 07:54 PM
Greetings,
I'm trying to populate an EA by reading a string of text from the hidden .identity file (located in /Library/Application Support/CrashPlan) that is created when CrashPlan is installed and configured for a user. From what I can see, the user account that is configured is in the last line of the file. I need to get some of that string in an EA. The string looks something like this: "username=johnsmith@domain.edu". I only need the "johnsmith" part of the text. I believe this can be done using the cat, grep, or sed command(s) but I am not sure where to start. Any help would be much appreciated.
Solved! Go to Solution.
Posted on 07-03-2020 01:12 AM
Hi Joe,
This might be a start.
VAR=$(cat /Library/Application Support/CrashPlan/.Identity |grep username= |sed -e 's/.*=(.*)@.*/1/'); echo "<result>$VAR</result>"
Posted on 07-03-2020 02:31 AM
Friends of awk would probably say
#!/bin/sh
VAR=$(awk -F'[=@]' '/username/ {print $2}' bla.txt );echo "<result>$VAR</result>"
Posted on 07-06-2020 09:07 AM
@joethedsa , just add an if statement to check the value returned. From either option, remove the ;echo "<result>$VAR</result>"
and add these lines:
if [ -z "$VAR" ]; then
echo "<result>Not Installed</result>"
else
echo "<result>$VAR</result>"
fi
Posted on 07-03-2020 01:12 AM
Hi Joe,
This might be a start.
VAR=$(cat /Library/Application Support/CrashPlan/.Identity |grep username= |sed -e 's/.*=(.*)@.*/1/'); echo "<result>$VAR</result>"
Posted on 07-03-2020 02:31 AM
Friends of awk would probably say
#!/bin/sh
VAR=$(awk -F'[=@]' '/username/ {print $2}' bla.txt );echo "<result>$VAR</result>"
Posted on 07-06-2020 07:45 AM
@Jerneheim and @mschroder, Thank you both for your responses. If CrashPlan isn't installed on a machine, it just keeps the EA blank. Do you know what I could add to the script so instead of it coming up blank, it would read "Not Installed"?
Posted on 07-06-2020 09:07 AM
@joethedsa , just add an if statement to check the value returned. From either option, remove the ;echo "<result>$VAR</result>"
and add these lines:
if [ -z "$VAR" ]; then
echo "<result>Not Installed</result>"
else
echo "<result>$VAR</result>"
fi
Posted on 07-06-2020 10:21 AM
@RBlount, thanks for chiming in. That did the trick!