从列 'n' 中删除字符直到结束行

mas*_*oud 4 sed

我有一个巨大的文本文件。这个文件有很多行,其中大多数N在结束行之前有更多的字符。

如何使用sedN第 th 个字符到行尾截断行?

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

Tho*_*hor 11

使用 sed 你可以这样做:

sed 's/\(.\{1,80\}\).*/\1/'
Run Code Online (Sandbox Code Playgroud)

截断到 80 列。使用-rGNU sed启用的 ERE(扩展正则表达式)更具可读性:

sed -r 's/(.{1,80}).*/\1/'
Run Code Online (Sandbox Code Playgroud)

但是,你可以用 cut 更有效地做到这一点:

cut -c 1-80
Run Code Online (Sandbox Code Playgroud)