Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何搜索用户所属的特定组_Linux_Awk_Sed - Fatal编程技术网

Linux 如何搜索用户所属的特定组

Linux 如何搜索用户所属的特定组,linux,awk,sed,Linux,Awk,Sed,我有一个文件test.txt,其中包含id命令的详细信息(例如:idsudi) 如何仅打印id和纱线组作为输出。我试过格雷普和塞德,但没有运气 例如: 使用 gawk: $ awk -v RS='[()]' -v OFS=, '/yarn/{s=s?s OFS $1:$1}END{print "sudi: " s}' infile sudi: edl_prd_yarn_int_ana,edl_prd_yarn_int_cb $ awk -F'[()]' -v OFS=, '{for(i=1;

我有一个文件test.txt,其中包含id命令的详细信息(例如:
idsudi

如何仅打印id和纱线组作为输出。我试过格雷普和塞德,但没有运气 例如:

使用

gawk

$ awk -v RS='[()]' -v OFS=, '/yarn/{s=s?s OFS $1:$1}END{print "sudi: " s}' infile
sudi: edl_prd_yarn_int_ana,edl_prd_yarn_int_cb
$ awk -F'[()]' -v OFS=, '{for(i=1; i<=NF; i++)if($i~/yarn/)s=s?s OFS $i:$i}END{print "sudi: " s}' infile
awk

$ awk -v RS='[()]' -v OFS=, '/yarn/{s=s?s OFS $1:$1}END{print "sudi: " s}' infile
sudi: edl_prd_yarn_int_ana,edl_prd_yarn_int_cb
$ awk -F'[()]' -v OFS=, '{for(i=1; i<=NF; i++)if($i~/yarn/)s=s?s OFS $i:$i}END{print "sudi: " s}' infile
grep-oP“uid=\d+\(\K\w+(?=\))\w+warn\w+”文件| awk'$0~/warn/{if(!first){a=a”“$1;first=1}否则{a=a”“,“$0}}$0~/纱线/{print a;a=$0:“;first=0}END{print a}'

输出:

sudi: edl_prd_yarn_int_cb,edl_prd_yarn_int_rsk
achung1: edl_prd_yarn_int_cb,edl_prd_yarn_int_rsk
afabia: edl_prd_yarn_int_ana,edl_prd_yarn_int_cb

纱线信息是否总是用双星号包装?不,我刚才强调了id命令的问题用途输出如下:uid=23351(abotha)gid=5000(bns)组=5000(bns),16382(damepgrp),15657(edl_prd_rcrr_sup),15650(edl_prd_rcrr_用户),15712(edl_prd_纱线_int cb),15721(edl_prd_纱线_int rsk),15632(edl_prd_prd_rcrr_int rsk),161;,ADM 10(edlp\u bc5m\u sup)是的,就是这样,如果我有3个或更多的纱线字符串如果每个用户有3个纱线字符串,那么将粘贴命令更改为
粘贴--
。但是如果用户有不同数量的纱线字符串,这将不起作用,例如,如果user1有3个纱线字符串,user2有4个纱线字符串。在这种情况下,这将失败。你想要一个通用的so吗lution?我的用户有2、3、4根线串,例如:uid=23391(xxxx)gid=5000(bns)组=5000(bns),15714(edl-prd-U纱线),15712(edl-prd-U纱线),15718(edl-prd-U纱线),16110(edl-bc5m-RSU-sup),15829(edl-prd-U-T-TSU-ro),15143(Nanalytics),15152(rsnanalytics)此用户有3条线。因此,我需要一个通用的线,其中无论线的数量如何,它都应检查更新的解决方案。从下次开始,确保在您的问题中输入所有必要的信息,并显示您的努力。因此不是代码工厂。
sudi: edl_prd_yarn_int_cb,edl_prd_yarn_int_rsk
achung1: edl_prd_yarn_int_cb,edl_prd_yarn_int_rsk
afabia: edl_prd_yarn_int_ana,edl_prd_yarn_int_cb