我想在 .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
\v
开启魔法^.{639}$
查找恰好包含 639 个字符的行v
反向选择d
删除x
保存并关闭
答案4
你还没有说你的数据是什么,或者是否可以接受在中间分解单词。因此,这里有一个可能更适合书面文本的替代方案。
export MANWIDTH=639
cat file.txt | man -l -
这将使用您的默认分页器进行显示,或者将输出通过管道传输到其他内容。