名前を含むデータファイルがあります。グループやパスワードなしで追加する必要があるユーザー名。もちろん、すべてのスペースを削除する必要があります。 bashスクリプトを使用して追加する必要があります。誰でもスクリプトを書くのに役立ちますか?
文書:
Marianne Earman
Justina Dragaj
Mandy Mcdonnell
Conrad Lanfear
Cyril Behen
Shelley Groden
Rosalind Krenzke
Davis Brevard
Winnie Reich
Trudy Worlds
Deshawn Inafuku
Claudio Loose
Sal Pindell
Cristina Sharper
Tricia Kruss
私のスクリプト:
#!/bin/bash
#users.dat | sed "s/\t\t*/ /g"
while read p; do
#var=$(echo $p | sed "s/\t\t*/ /g")
var= echo $p | sed '/^$/d;s/[[:blank:]]//g'
#sudo useradd $var
sudo useradd $var
done < users.dat
ベストアンサー1
これは単一のパイプラインで実行できます。入力から各行をxargs
実行するだけです。useradd
sed '/^[[:space:]]*$/d; s/[[:space:]]//g' users.dat |
xargs -I{} echo {}
正しいことをしていると確信しているときに変更してくださいecho
。useradd
また、Debianベースのシステム(Ubuntu、Linux Mintなど)に対してこのコードを書く場合は、代わりにadduser
使用を検討する必要がありますuseradd
。adduserは実行しますが、useraddは実行しないものは何ですか?