cat /etc/group | grep wheel
wheel:x:10:I0173203,i04317303,raccount,d454523,c564566,C555533,D2354546
我想只提取以c\C i\I d\D
如何获得所需的输出?
I0173203 i04317303 d454523 c564566 C555533 D2354546
答案 0 :(得分:3)
我会使用awk
:
$ awk -F[:,] '/^wheel/ {
for(i=4;i<=NF;i++) if($i~/^[cCiIdD]/) printf "%s%s",$i,(i==NF?RS:OFS)
}' /etc/group
I0173203 i04317303 d454523 c564566 C555533 D2354546
您还可以使用perl
:
perl -nle '@m=(m/[:,]([iIcCdD]\w+)/g) if $_=~/^wheel/ }{ print "@m"' /etc/group
答案 1 :(得分:2)
cat /etc/group | grep wheel | sed 's/^.*:\(.*\)$/\1/g' | sed 's/,/\n/g' | egrep '^[cCiIdD].*'
在链中运行第一个命令,查看结果。然后添加第二个,看结果,......