我有4列,以;
分隔。
第三或第四列中的某些行很大,超过10000个字符。
不管哪几列,一列的长度超过10000个字符时,如何删除这些行?
我尝试过
awk '{i += (length() + 1); if (i <= 10000) print $ALL}'
但这要占用整个文件,而不仅是特定的列,而且我要的是列的长度,而不管它是第3还是第4或两者兼而有之。
TIA
最佳答案
你可以使用这个awk:
awk -F ';' 'length($3)<10000 && length($4)<10000' file
这将仅打印字段 3 和字段 4 长度小于 10000 的那些行。因此,换句话说,如果这些列中的任何一列的长度>=10000,那么这些行将不会在输出中打印。
关于python - 如何按特定列中的字符数截断文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27606664/