解析 CSV 文件以添加用户

解析 CSV 文件以添加用户

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

我编写了一个小脚本来添加 1000 个用户的列表:

export IFS=","

cat users.csv | while read a b c d e f g; do useradd -d -u $a -U $d ; done

CSV 文件的格式为:

ps2946,male,Phil Harris,Recording,6508 Hollywood Blvd,Nov 16 1950,760 901 3537
mc3225,male,Mel Blanc,Radio,6385 Hollywood Blvd.,Oct 1 1983,626 647 5560
fn1029,male,Franklin Pangborn,Motion pictures,1500 Vine Street,Mar 10 1911,858 497 6108
we9602,undefined,Webb Pierce,Recording,1600 Vine Street,Sep 3 1988,559 595 6063

然而,运行脚本后,它会重复遍历整个文件:

useradd: invalid home directory '-u'

我使用export IFS用逗号分隔单词并将它们用作useradd命令的参数。

我阅读了手册并使用了主目录的值,但我觉得我的整个脚本都关闭了。

有人可以帮助我正确格式化脚本以从 CSV 文件添加用户吗?

作为参考,我使用此线程作为基础:https://stackoverflow.com/questions/4439536/shell-script-to-parse-through-a-file-csv-and-process-line-by-line

答案1

该错误是因为您useradd使用-doption 进行调用,该选项期望下一个单词是默认主目录中的主目录路径或目录名称(而不是-u)。

作为第一个建议,请尝试:

cat users.csv | while read a b c d e f g; do useradd -d "$a" -U "$d" ; done

相关内容