datファイルからユーザーを追加する

datファイルからユーザーを追加する

名前を含むデータファイルがあります。グループやパスワードなしで追加する必要があるユーザー名。もちろん、すべてのスペースを削除する必要があります。 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 {}

正しいことをしていると確信しているときに変更してくださいechouseradd

また、Debianベースのシステム(Ubuntu、Linux Mintなど)に対してこのコードを書く場合は、代わりにadduser使用を検討する必要がありますuseraddadduserは実行しますが、useraddは実行しないものは何ですか?

おすすめ記事