有关bash脚本的快速帮助,以删除大文件的行

时间:2012-05-25 21:26:13

标签: bash sed awk

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

我想使用sed和awk,但很难快速启动。有人可以帮忙吗? :)

提前多多感谢!

2 个答案:

答案 0 :(得分:6)

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

-F"\t"表示分割线o标签,然后打印第3个字段的大小(长度)小于1001的行。

我希望这会有所帮助。

答案 1 :(得分:1)

我明白了......

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

或     awk -F'\ t''{if(length($ 3)&lt; 1000)print $ 0}'test.txt&gt; out.txt