Dan*_*nny 6 command-line csv text-processing
我正在尝试将我的用户分类到特定的服务器中,所以我现在要做的是按性别获取所有用户。本质上,我将拥有一台服务器,所有男性用户都使用,而另一台服务器则供所有女性用户使用。文件中每行的数据读取如下:
jimlee,7676,jim lee,sony,male,8912,1543,33:44
Run Code Online (Sandbox Code Playgroud)
我在下面使用的命令获取第一个字段,然后添加用户。但是,我的目标是仅添加特定性别并为他们创建用户。所以看看第五个字段如何是性别字段我知道使用-f5
会给我那个字段并按性别显示所有用户但我不确定如何根据特定字段获取名称,在这种情况下是第五个字段(性别)。
cut -d ',' -f1 file.csv | while read line; do sudo useradd "$line"; done
Run Code Online (Sandbox Code Playgroud)
你可以试试
sudo awk -F , '($5=="male") {system("useradd " $1)}' file.csv
Run Code Online (Sandbox Code Playgroud)
继承我之前在您的另一个问题中的回答如何在列表中获取逗号前的字符并导出到脚本?,将 awk 与$FIELD == "word"
. 这里男性和女性设置在字段 5
awk -F',' '$5=="male" {command=sprintf("useradd \"%s\" ",$1); system(command) }' input.txt
Run Code Online (Sandbox Code Playgroud)
你可以对“女性”做同样的事情
归档时间: |
|
查看次数: |
1577 次 |
最近记录: |