以下是我在名为“example”的文件中的一些值——我只放置了一行,但大约有一千个。
a 7 q y 4 5 8 9 5 6 567 5678578 56784 345 345 2 df 4 1 245
b 7 q y 4 5 8 9 5 6 567 5674578 56789 334 324 3 df 4 1 245
具体来说,看看第 1 列中的 a 或 b 值如何?这对于其余的一千行来说也是如此,其中第一列要么是 a 要么是 b。我想分隔行,以便所有具有值“a”的行都在一个文件中,并且所有具有值“b”的行都在另一个文件中。那可能吗?
awk '$1 == a' /home/me/example > /home/me/rowa
我已经尝试过但没有成功,但我不知道为什么。谁能帮忙澄清一下吗?
答案1
使用 awk 命令很容易
awk '{print > $1".txt"}' infile.txt
这将生成两个文件“a.txt”,其中包含第一列仅是“a”的行,而“b.txt”则包含第一列仅是“b”的行(如果您的第一列仅包含 a 或 b)
以上是当您的数据由以下分隔时标签或者空间,如果它与这些不同,我们可以用它的 告诉它 awk -F"DELIMITER"
,其中 DELIMITER 代表您的文件字段分隔符。