我需要从文件中删除行,而行上的内容以制表符分隔。 - 我需要首先使用tab分割线,然后计算第3段的长度。 - 如果长度大于1000,我将从文件中删除该行。
我想使用sed和awk,但很难快速启动。有人可以帮忙吗? :)
提前多多感谢!
答案 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