从文本文件中提取信息并在unix

时间:2015-09-15 04:18:49

标签: unix command-line awk centos ifs

我正在尝试从名为'accounts.list'的.list文件中提取信息 并在CentOS 7中的命令行操作中使用提取的信息。我知道有一个简单的解决方案,但我不能在我的生活中找到它。

因此文件的每一行都按以下格式列出:

John Smith | jsmith
Jane Doe | jdoe

我需要做的是向用户添加每行的信息。例如,我想将每个部分添加到变量中,然后在adduser命令中使用该变量:

fn=John
ln=Smith
un=jsmith

useradd -c "$fn $ln" $un

所以我需要遍历每一行并提取该信息,添加用户,然后继续下一行。我想以最简单的方式做到这一点,但我尝试过的任何工作都没有用,任何帮助都会非常感激。

1 个答案:

答案 0 :(得分:2)

ALTER TABLE TABLENAME DROP COLUMN COLUMNNAME

或者,如果您喜欢分布在多行的命令:

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

如何运作

文件的每一行都有四个字段:第一个名称(fn),姓氏(ln),垂直条,用户名(un)。命令while read -r fn ln ignore un do useradd -c "$fn $ln" "$un" done <accounts.list 逐行从输入文件中读取,并将这四个字段分配给变量readfnlnignore