2

「accounts.list」という .list ファイルから情報を抽出し、抽出した情報を CentOS 7 のコマンド ライン操作で使用しようとしています。簡単な解決策があることは知っていますが、一生見つけることができません。

したがって、ファイルには次の形式で各行がリストされています。

John Smith | jsmith
Jane Doe | jdoe

私がする必要があるのは、各行からの情報を使用してユーザーを追加することです。たとえば、各部分を変数に追加し、その変数を adduser コマンドで使用したいとします。

fn=John
ln=Smith
un=jsmith

useradd -c "$fn $ln" $un

したがって、各行を調べてその情報を抽出し、ユーザーを追加してから、次の行に進む必要があります。可能な限り簡単な方法でこれを行いたいのですが、私が試したことは何もありません。どんな助けでも大歓迎です。

4

1 に答える 1

2
while read -r fn ln ignore un; do useradd -c "$fn $ln" "$un"; done <accounts.list

または、コマンドが複数行にまたがる場合:

while read -r fn ln ignore un
do
    useradd -c "$fn $ln" "$un"
done <accounts.list

使い方

ファイルの各行には、名前 (fn)、姓 (ln)、縦棒、ユーザー名 (un) の 4 つのフィールドがあります。このコマンドreadは、入力ファイルから 1 行ずつ読み取り、これら 4 つのフィールドを変数fnlnignore、およびに割り当てますun

于 2015-09-15T04:39:14.660 に答える