Zzr*_*rot 17 awk text-processing
我已经看到了在模式匹配和行匹配方面拆分文件的解决方案,但我想要的是以下内容。情况是,假设我有一个文件file1
-
A.B|100|20
A.B|101|20
A.X|101|30
A.X|1000|20
B.Y|1|1
Run Code Online (Sandbox Code Playgroud)
现在我想根据第一列将此文件拆分为 3 个不同的文件,其中第一个文件将是A.B
第一列中包含的所有行,第二个文件应包含所有行,A.X
依此类推。
如果第一列有任何变化,应该为这些行创建一个新文件。有没有办法用bash
或来做awk
?
由于无法事先知道第一列的值是什么,因此我无法使用任何功能,例如split
或cut
。我在这里先向您的帮助表示感谢!
Joh*_*024 40
尝试:
awk -F\| '{print>$1}' file1
Run Code Online (Sandbox Code Playgroud)
这会将每一行写入以第一列命名的文件。
这个怎么运作:
-F\|
将字段分隔符设置为|
.
print>$1
将当前行打印到名称为第一个字段的文件中。