有人可以建议我如何做follwing:
`
attributes:
0x00000007 <blob>="Test"
0x00000008 <blob>=<NULL>
"acct"<blob>="abc@xyz.com"
password: "mycrypticpassword"
`
如果我想提取abc@xyz.com和密码值并将它们分配给shell脚本中的变量,可以在perl或sed中完成?
谢谢
使用sed with backReference:
$ email=$(sed -n 's/[t ]*"acct"<blob>="([^"]*)"/1/p' file)
$ pass=$(sed -n 's/[t ]*password: "([^"]*)"/1/p' file)
$ echo $email
abc@xyz.com
$ echo $pass
mycrypticpassword
使用perl提取所需值:
$ perl -nle 'print "$1$2" if /"acct"<blob>="(.*)"|password: "(.*)"/' file
abc@xyz.com
mycrypticpassword
使用$(...)
构造获取输出,并使用read EMAIL PASSWORD <<< ...
分配给两个变量:
$ read EMAIL PASSWORD <<<
> $(perl -nle 'print "$1$2" if /"acct"<blob>="(.*)"|password: "(.*)"/' file)
$ echo $EMAIL
abc@xyz.com
$ echo $PASSWORD
mycrypticpassword