解析 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使用-d選項進行調用,該選項期望下一個單字是預設主目錄中的主目錄路徑或目錄名稱(而不是-u)。

作為第一個建議,請嘗試:

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

相關內容