为了账号安全,请及时绑定邮箱和手机立即绑定

查找和 grep 组的脚本

查找和 grep 组的脚本

宝慕林4294392 2022-07-12 15:25:22
我正在努力编写 bash 脚本或 python 脚本来从文件中查找字符串。例如,我需要搜索usrname4,如果找到,那么我需要获取它的组。在这种情况下,它是group1。由于文件格式很棘手,我正在寻找一些提示。文件内容为以下格式。group1    (-,usrname1,abc.co.uk)\          (-,usrname1,xyz.co.uk)\          (-,usrname2,abc.co.uk)\          (-,usrname2,xyz.co.uk)\          (-,usrname3,abc.co.uk)\          (-,usrname3,xyz.co.uk)\          (-,usrname4,abc.co.uk)\          (-,usrname4,xyz.co.uk)\          (-,usrname5,abc.co.uk)\          (-,usrname5,xyz.co.uk)\          (-,usrname6,abc.co.uk)\          (-,usrname6,xyz.co.uk)\          (-,usrname7,abc.co.uk)\          (-,usrname7,xyz.co.uk)\group2    (-,usrname8,abc.co.uk)\          (-,usrname8,xyz.co.uk)\          (-,usrname9,abc.co.uk)\          (-,usrname9,xyz.co.uk)\          (-,usrname10,abc.co.uk)\          (-,usrname10,xyz.co.uk)\          (-,usrname11,abc.co.uk)\          (-,usrname11,xyz.co.uk)\          (-,usrname12,abc.co.uk)\          (-,usrname12,xyz.co.uk)\          (-,usrname13,abc.co.uk)\          (-,usrname13,xyz.co.uk)\          (-,usrname14,abc.co.uk)\          (-,usrname14,xyz.co.uk)\
查看完整描述

1 回答

?
慕沐林林

TA贡献2016条经验 获得超9个赞

我添加了以下规格:

  • 可以通过查找没有空格开始的行来找到组

  • 组名不带空格

  • 当用户名出现多次时,只看第一个

  • 搜索比赛前提到的最后一组

首先选择所有组和所有匹配的行。
从该集合中查找第一场比赛之前的最后一行,那必须是该组。

usr=usrname4
grep -Eo "^[^ ]+|,${usr}," file | grep -B1 ",${usr}," | head -1


查看完整回答
反对 回复 2022-07-12
  • 1 回答
  • 0 关注
  • 129 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号