删除从第 n 列开始直到行末的字符

删除从第 n 列开始直到行末的字符

我有一个巨大的文本文件。该文件有很多行,其中大多数行在N行末之前都有多个字符。

我如何使用sed截断行N字符直到行尾?

注意:显然此操作后最大行长度为N

答案1

使用 sed 你可以这样做:

sed 's/\(.\{1,80\}\).*/\1/'

-r截断为 80 列。使用GNU sed 中启用的 ERE(扩展正则表达式)可读性更强:

sed -r 's/(.{1,80}).*/\1/'

但是,你可以用 cut 更有效地完成此操作:

cut -c 1-80

相关内容