选择列中具有特定值的行

选择列中具有特定值的行

以下是我在名为“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 代表您的文件字段分隔符。

相关内容