在mac终端中编辑大文本文件

时间:2011-07-26 08:37:10

标签: regex macos terminal

我有这个非常大的字典文件,每行有1个字,我想把它修剪下来。

我想做的是留下3-6个字母不正确的名词,所以它必须根据这些来检测单词:

  1. 如果单词少于3个字母,请将其删除
  2. 如果单词超过6个字母,请将其删除
  3. 如果单词有大写字母,请将其删除
  4. 如果单词有单引号或空格,请将其删除。
  5. 我用过这个:

    cat Downloads/en-US/en-US.dic | egrep '[a-z]{3,6}' > Downloads/3-6.txt
    

    但输出不正确。它输出的字数大于3个字符,但这是我目前的进展情况。

    那么如何在mac终端中这样做?必须有办法做到这一点吗?

2 个答案:

答案 0 :(得分:2)

以下命令将仅选择由三到六个小写的a-z字母组成的单词:

egrep '^[a-z]{3,6}$' /usr/share/dict/words > filtered.txt

/usr/share/dict/words替换为输入文件,将filtered.txt替换为输出文件的名称。我刚刚确认这适用于我的Mac。希望这有帮助!

答案 1 :(得分:1)

使用grep并编写正则表达式规则以匹配您要保留的行。您可以在终端输入man grep来获取有关grep的信息。