根据awk中的位置过滤器打印列的子字符串

问题描述 投票:0回答:1

我有一个包含以下 3 列的文件

1   a1   abcd
2   b1  acdb
3   c1  abcd 

我需要根据位置过滤器上的第 3 列的子字符串提取/打印行(2==“b”),所以输出应该是

1   a1  abcd
3   c1  abcd 

基于(基于过滤器在awk中打印列的子字符串)我尝试过:

awk -F '\t' -v OFS='\t' '{ $3=substr($3,2,1); print $0 }' a.txt 

如何在位置上分配过滤器

谢谢你

awk filter substring position row
1个回答
0
投票

您可以使用这个

awk

awk -F '\t' 'substr($3, 2, 1) == "b"' file

1   a1  abcd
3   c1  abcd
© www.soinside.com 2019 - 2024. All rights reserved.