Awk:从列

时间:2016-10-25 02:52:12

标签: shell awk strip

   awk 'length($1)==3 && length($2)==3 {print $1, $2 "\t", $5}' file.txt

我正在尝试仅使用一个字符打印列。

它可以是A或B或C或D,否定$ 5中的其他所有东西。

file.txt中的$ 5是

112C
222F
B212
F2334
C23
A123

我希望输出为

 C

 B

 C
 A

2 个答案:

答案 0 :(得分:1)

要从A删除除 BCD$5之外的所有字符,请使用{{1 }}

应用于您的命令:

gsub(/[^ABCD]/, "", $5)

答案 1 :(得分:0)

awk'长度($ 1)== 3&&长度($ 2)== 3 {匹配($ 5,/ A | B | C | D /,arr);打印$ 1,$ 2" \ t",arr [0]}' file.txt的