我有 4 列,由 ;
分隔。
第 3 或第 4 列中的某些行超过 10000 个字符。
无论是哪一列,如果一个特定列的长度超过 10000 个字符,您将如何删除这些行?
我试过了
awk '{i += (length() + 1); if (i <= 10000) print $ALL}'
但它占用了整个文件,而不仅仅是特定的列,我想要列的长度,无论它是第 3 列还是第 4 列,或者两者都是。
TIA
最佳答案
您只需要:
$ cat file
a;b;c
d;efg;h
i;j;klm
opqr;s;t
uv;wx;yz
$ egrep -v '[^;]{3}' file
a;b;c
uv;wx;yz
$ awk '!/[^;]{3}/' file
a;b;c
uv;wx;yz
$ sed -r '/[^;]{3}/d' file
a;b;c
uv;wx;yz
将“3”更改为 1001 或其他...
关于python - 如何按特定列中的字符数截断文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27606664/