gpt4 book ai didi

BASH 将文本文件操作成数组

转载 作者:行者123 更新时间:2023-11-29 09:45:49 24 4
gpt4 key购买 nike

我有一个包含大约 150 行信息的文本文件 (clients)

每一行都类似于:

“2”,“用户 ID”,“访问代码”例如:

"1","545ghu","7687686686868709ioo98968g"
"1","G2567u","54564df76786470976476987w"
"1","Y5po97","iuioubhjgjg768b79j9890980"

我想 grep 这个文件,只在第二列中找到包含 G2 或 Y5 的条目,删除所有双引号并将结果发送到数组。

我可以用

foo=( $(grep 'G2\|Y5' 客户端 | sed 's/"//g') )

这导致数组 foo 包含如下条目:

foo[0] = 1,G2567u,54564df76786470976476987w

我希望 foo 中的结果看起来像这样:

G2567u (54564df76786470976476987w)

有人可以建议怎么做吗?

谢谢

最佳答案

这里不需要任何外部命令——awksed grep;所有必要的原语都可用于 bash 本身。

array=( )
while IFS='",' read -r num userid access_code _; do
if [[ $userid =~ (G2|Y5) ]]; then
array+=( "${userid} (${access_code})" )
fi
done < clients

参见:

关于BASH 将文本文件操作成数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48504693/

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