该数据集是一个包含三列的大文件:一个部分的 ID、一些不相关的内容和一行文本。示例可能如下所示:
A01 001 This is a simple test.
A01 002 Just for exemplary purpose.
A01 003
A02 001 This is another text
我想使用第一列(在本例中A01和A02,代表不同的文本)作为文件名,其内容是第二列之后该行中的所有内容。
上面的示例应该生成两个文件,其中一个带有名称A01
和内容:
This is a simple test.
Just for exemplary purpose.
和另一个A02
内容:
This is another text
我的问题是:
- AWK 是执行此任务的合适程序吗?或者也许有更方便的方法来做到这一点?
- 这个任务要怎么完成呢?
awk
非常适合此类任务。如果您不介意有一些前导空格,您可以使用:
awk '{f=$1; $1=$2=""; print > f}' file
这将清空第一个和第二个字段,然后将所有行打印到f
文件,之前存储为第一个字段。
如果这些空格令人烦恼,您可以使用以下命令删除它们sub(" ", "")
:
awk '{f=$1; $1=$2=""; sub(" ", ""); print > f}' file
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)