【发布时间】:2013-07-24 20:05:17
【问题描述】:
我正在尝试将包含典型访问控制矩阵表的 CSV 文件解析为 shell 脚本。我的示例 CSV 文件将是
"user","admin","security"
"user1","x",""
"user2","","x"
"user3","x","x"
我将使用此列表在它们各自的文件夹中创建文件。问题是如何让它存储第 2/3 列(管理员/安全)的值?我试图实现的输出是对所有具有管理员/安全权限的用户进行分组/排序,并在各自的文件夹中创建文件。 (我的想法可能是将所有管理员/安全用户存储到不同的文件中并从那里运行。)
环境不允许我使用任何 Perl 或 Python 程序。但是任何awk 或sed 命令都非常感谢。
我想要的输出是
$ cat sample.csv
“用户”、“管理员”、“安全”
"user1","x",""
"user2","","x"
"user3","x","x"
$ cat security.csv
用户2
用户3
$ cat admin.csv
用户1
用户3
【问题讨论】:
-
不要将用户存储到文件中——他们可能会窒息。
-
为什么标题行有5列?两个前导逗号是错误的吗?在文件正文中,除了
""或"x"的格式,您是否必须处理任何替代? -
我在标题行的错误,将对其进行编辑。 csv 的格式只有 x 和空格