2

我需要从文件中删除行,而行上的内容是制表符分隔的。- 我需要先使用制表符分割线,然后计算第三段的长度。- 如果长度大于 1000,我将从文件中删除该行。

我想使用 sed 和 awk,但很难快速入门。任何人都可以帮忙吗?:)

提前非常感谢!

4

2 回答 2

6
awk -F"\t" 'length($3) < 1001{print}' file > outFile

-F"\t"表示拆分行 o 制表符,然后打印第三个字段的大小(长度)小于 1001 的行。

我希望这有帮助。

于 2012-05-25T21:36:06.290 回答
1

我想到了...

awk '{p = split($0,a,"\t"); if (length(a[3]) < 1000) print $0}' test.txt > out.txt

或 awk -F '\t' '{if (length($3) < 1000) print $0}' test.txt > out.txt

于 2012-05-25T21:49:08.423 回答