我有一个文件的文本字符串,我分析出,我几乎得到了它,但我的思念不知道什么
我使用的基本表达
cat cred.txt | grep -m 1 -o '&CD=[^&]*'
我得到的结果
&CD=u8AA-RaF-97gc_SdZ0J74gc_SdZ0J196gc_SdZ0J211
我不想&CD=
得到的字符串中的一部分 ,我会怎么做。
我从解析字符串:
webpage.asp?UserName=username&CD=u8AA-RaF-97gc_SdZ0J74gc_SdZ0J196gc_SdZ0J211&Country=USA
如果你grep
知道Perl的正则表达式:
grep -m 1 -oP '(?<=&CD=)[^&]*' cred.txt
如果不:
sed '1s/.*&CD=\([^&]*\).*/\1/' cred.txt
许多方法对皮肤这只猫。
扩展您的管道:
grep -o 'CD=[^&]*' cred.txt | cut -d= -f2
或做在SED更换:
sed -r 's/.*[&?]CD=([^&]*).*/\1/' cred.txt
或者获得真正看中并解析在AWK实际QUERY_STRING:
awk -F'?' '{ split($2, a, "&"); for(i in a){split(a[i], kv, "="); out[kv[1]]=kv[2];} print out["CD"];}'