【发布时间】:2017-02-13 21:08:38
【问题描述】:
我有一个 txt 文件,其中包含姓名、职位、部门等列。我需要从每列中获取某些字符,以便为每个列表生成用户名和密码。
我通过首先将列分开来解决这个问题:
awk 'NR>10{print $1, $2, $3, ...etc}' $filename
#This skips the header information and simply prints out each specified column.
然后继续从各自的字段中获取我需要的每个字符。
现在的问题是每一行都不统一。例如,列表是这样组织的:
(lastName, firstName, middleInitial, position, departmentName)
文本文件中的某些条目没有某些字段,例如中间名首字母。因此,当我尝试列出字段 3、4 和 5 时,没有中间首字母的条目返回:
(position, departmentName, empty/null (I'm not sure how awk handles this))
好消息是我不需要中间的首字母,所以我可以忽略这些列表。如何从文件中获取最后 2 列(在此示例中),以便我可以隔离 每个 条目所具有的字段,以便从中删除必要的字符?
【问题讨论】:
-
您能否添加一些示例数据以进行测试、预期结果以及您使用到目前为止编写的代码获得的结果(即使它是一个错误)?哦,还有代码本身,尽可能接近可运行状态。查看MCVE 说明以获取提示。祝你好运!
-
哇,我真的需要一些格式化帮助