shell的sed用法echo "uid=100(guest) gid=100(others) groups=10(users),11(floppy)"|sed 's/^[^(]*(\([^)]*\).*/\1/'请问这句会输出什么啊?
问题描述:
shell的sed用法
echo "uid=100(guest) gid=100(others) groups=10(users),11(floppy)"|sed 's/^[^(]*(\([^)]*\).*/\1/'
请问这句会输出什么啊?
答
djy@game-rd10:~> echo "uid=100(guest) gid=100(others) groups=10(users),11(floppy)"|sed 's/^[^(]*(\([^)]*\).*/\1/'
输出 guest
[^(]表示不是(
^[^(]*表示不是(开头的一串,*跟在后面表示一个或者连续几个不已(开头的字符
(表示guest左边的(
\([^)]*\)表示不以)结束的一串字符,匹配后面\1输出
.*表示guest后面的所有字符