gpt4 book ai didi

linux - 通过 CSV 文件解析以添加用户

转载 作者:太空宇宙 更新时间:2023-11-04 12:06:03 27 4
gpt4 key购买 nike

我在解析 CSV 文件以添加用户时遇到问题。

我写了一个小脚本来添加 1000 个用户的列表。我试图将我的用户分类到特定的服务器中,所以我现在要做的是抓取第 1-299 行,所有用户按性别分类。我将拥有一台所有男性用户的服务器和一台所有女性用户的服务器。此外,我必须用他们的名字和姓氏添加评论。CSV 格式为:

af1001,afeni,freeborn,f,May 7 1994,IR_Iran,5,Centre_back,Nizhny_Novgorod_Stadium
md1707,melaya,dion,f,October 16 1996,Colombia,13,Sweeper,Mordovia_Arena
lm1540,leondre,metzner,m,September 27 1985,Germany,5,Centre_midfield,Kazan_Arena
jo1304,juelz,orengo,m,September 27 1999,France,23,Goalkeeper,Ekaterinburg_Arena

我目前拥有的:

head -n 299 users.csv | grep -w f| cut -d ',' -f1 |  while read line; do sudo useradd “$line“ ; done

当然,这只会添加用户,而不会添加他们姓名的评论。我尝试了以下方法:

head -n 299 selli049.csv | grep -w f| cut -d ',' -f1,2,3|  while read line; do sudo useradd -c “$line” $f1 ; done

但这没有用。我对此很陌生,因此正在寻找有用的提示。谢谢。

最佳答案

试试这个:

# Set a target gender
target_gender='f'

# Cat your csv file and set the while separator to a comma, then assign each field to a variable
cat users.csv | while IFS="," read username first last gender date country number position field; do
# If the gender matches the target add a user and set their comment to first and last name
if [[ "${gender}" == "${target_gender}" ]]; then
# -c adds a comment
sudo useradd ${username} -c "${first} ${last}"
fi
done

补充阅读:

What is IFS?

useradd manpage

关于linux - 通过 CSV 文件解析以添加用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50659811/

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