extract string with backslashes

DirkM2012
Contributor

Sorry for a noob question but I have a hard time to extract a string from another string and I'm sure one of you geeks has a simple answer for this.

I have a string like "domainnameusername" that I extract from a plist using defaults read. I got the domainname with cut -d '' -f1 but I can't get the username. I tried cut -d '' -f2 and cut -d '' -f3 and cut -d '' -f2 and I always end with an empty string. I'm sure it's all about escaping but I don't know enough yet to figure this out.

Thanks,
Dirk

1 ACCEPTED SOLUTION

tron_jones
Release Candidate Programs Tester

string='domainnameusername'

username=echo $string | cut -d '' -f3

echo $username

View solution in original post

3 REPLIES 3

tron_jones
Release Candidate Programs Tester

string='domainnameusername'

username=echo $string | cut -d '' -f3

echo $username

DirkM2012
Contributor

I knew it was easy for you.

I tired to do everything in one line and that didn't work. Extracting the full string first to a temp variable and then using echo works perfectly. Lesson learned. Thanks!

sean
Valued Contributor

You can get echo to do all the work for you:

#!/bin/bash

string='domainname\username'

username=`echo ${string##*\}`
domainname=`echo ${string%%\*}`

echo $username
echo $domainname