我在解析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
但那没用。我是新手,所以寻找有用的提示。谢谢。
答案 0 :(得分:0)
试试这个:
# 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
补充阅读: