gpt4 book ai didi

bash - 在 bash 中解析一行

转载 作者:行者123 更新时间:2023-11-29 09:36:00 25 4
gpt4 key购买 nike

我有一个文件,每行有一个条目。每行具有以下格式:

 "group:permissions:users" 

权限和用户可以有多个值,像这样用逗号分隔:

 "grp1:create,delete:yo,el,ella" 

我想要的是返回以下内容:

yo
el
ella

这是我目前所拥有的:

cat file | grep grp1 -w | cut -f3 -d: | cut -d "," -f 2

这会返回 yo,el.ella,如何让它每行返回一个值?

最佳答案

您可以使用 awk,使用 -F 选项来使用 : 作为字段分隔符:

[user@host]$ echo "grp1:create,delete:yo,el,ella" | awk -F ':' '{print $3}'
yo,el,ella

这将为您提供用户字符串,以逗号分隔。然后你可以用那个字符串做任何你想做的事。如果您想每行打印每个用户一个,您可以使用 tr 将逗号替换为换行符:

[user@host]$ echo "grp1:create,delete:yo,el,ella" | awk -F ':' '{print $3}' | tr ',' '\n'
yo
el
ella

关于bash - 在 bash 中解析一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/345518/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com