AWK - 显示列包含特定字符串的行

时间:2016-12-06 13:25:53

标签: linux bash sorting awk

我有一个类似的文档(.txt)。

info1: info2: info3: info4

我希望按列显示一些信息。 例如,我在" info3"中有一些不同的信息。盾牌,我想只看到由"测试"组成的线条。 in" info3"列。

我想我必须使用排序,但我不确定。 有什么想法吗?

3 个答案:

答案 0 :(得分:0)

您可以使用awk。假设您的列被:取消限制,而第3列的条目具有test,则下面的命令仅列出具有该值的行。

awk -F':' '$3=="test"' input-file

答案 1 :(得分:0)

假设间距一致,并且您只在第三列中查找test,请使用

grep ".*:.*: test:.*" file.txt

或者照顾可能出现的任何间距

grep ".*:.*: *test *:.*" file.txt

答案 2 :(得分:0)

之前的答案假设第三列完全等于test。看起来您正在寻找值包含测试的列。我们需要使用awk的match函数

awk -F: 'match($3, "test")' file