gpt4 book ai didi

linux - awk 在列中打印特定数量的字符

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:55:58 25 4
gpt4 key购买 nike

我有一个包含许多列和行的文件,我想删除第四列和第五列中超过一个字符的行。

输入:

--- 22:16050115:G:A 16050115 GGG A
--- 22:16050213:C:T 16050213 C T
--- 22:16050319:C:T 16050319 C T
--- 22:16050527:C:A 16050527 C AAA
--- 22:16050568:C:A 16050568 CC A
--- 22:16050607:G:A 16050607 G A
--- 22:16050627:G:T 16050627 G TGG
--- 22:16050646:G:T 16050646 G T
--- 22:16050655:G:A 16050655 GTAA A
...

期望的输出:

--- 22:16050213:C:T 16050213 C T
--- 22:16050319:C:T 16050319 C T
--- 22:16050607:G:A 16050607 G A
--- 22:16050646:G:T 16050646 G T
...

非常感谢。

最佳答案

awk 'length($4)==1 && length($5)==1' inputfile
--- 22:16050213:C:T 16050213 C T
--- 22:16050319:C:T 16050319 C T
--- 22:16050607:G:A 16050607 G A
--- 22:16050646:G:T 16050646 G T

这将检查 $4 的长度和 $5使用 length() awk的功能.这是使用比较运算符 == .可以修改为< , > , <=等等 所以上面的命令将打印在第 4 和第 5 列中只有一个字符的行。

关于linux - awk 在列中打印特定数量的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42477542/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com