用于在文件中保留一定长度的行的命令

用于在文件中保留一定长度的行的命令

我想在 .txt 文件中保留 639 个字符的行。这样做的命令是什么?

答案1

您可以使用grep

grep -E '^.{639}$' your.txt

^和匹配$行的开头和结尾。.{639}与任意字符精确匹配 639 次。

正如 Stéphane 评论的那样,这可以缩短(一个字符)为:

grep -Ex '.{639}' your.txt

-x表示:Select only those matches that exactly match the whole line

答案2

使用 awk:

awk 'length == 639'

或者稍微更容易理解:

awk 'length() == 639' 

\谢谢{@fedorqui}

答案3

您可以在 Ex 模式下使用 Vim:

ex -sc 'v/\v^.{639}$/d' -cx file.txt
  1. \v开启魔法

  2. ^.{639}$查找恰好包含 639 个字符的行

  3. v反向选择

  4. d删除

  5. x保存并关闭

答案4

你还没有说你的数据是什么,或者是否可以接受在中间分解单词。因此,这里有一个可能更适合书面文本的替代方案。

export MANWIDTH=639
cat file.txt | man -l -

这将使用您的默认分页器进行显示,或者将输出通过管道传输到其他内容。

相关内容