获取文件中所有小写单词的列表

获取文件中所有小写单词的列表

我正在尝试获取文件中所有小写单词的列表。到目前为止,我已经达到了使用命令行获取列表的程度

cat filename.txt | tr ' ' \\n | grep -w '[[:lower:]]*' | sort -u | less

但是,此命令不会删除列表中的非字母字符;而是会删除列表中的非字母字符。我得到一份带有表格的清单

(which
(which,
about
about,
about.
about:
about;
about?
which

我只对只有文字的台词感兴趣。如何使用类似的 line 命令获取它们?

答案1

POSIXly:

tr -s '[:blank:]' '[\n*]' <file | grep -xE '[[:lower:]]+'

答案2

给你:

sed 's/[^A-Za-z]\+/\n/g;s/$/\n/;s/[^\n]*[A-Z][^\n]*\n//g;s/\n$//' <input_file | sort -u

答案3

过了一会儿,我回到这个问题,只是想展示一下我的固定命令,它做到了这一点,以记录在案。

tr -s '[:blank:]' '[\n*]' < filename.txt | grep -wo '[[:lower:]]*' | sort -u | less -N

相关内容