如何从bash中的ispell .mwl文件中提取所有前缀词
Posted
技术标签:
【中文标题】如何从bash中的ispell .mwl文件中提取所有前缀词【英文标题】:how to extract all prefix words from an ispell .mwl file in bash 【发布时间】:2022-01-12 01:11:39 【问题描述】:我有一个 ispell 巨大的 .mwl 文件,我想删除所有 ispell 后缀以生成一个简单的纯文本单词字典 使用 unix ispell、bash 或 perl 命令。 是否有 ispell 命令选项可以做到这一点? (在 unix 中,.mwl.gz 文件位于 /usr/share/ispell/ 目录中) 文件的简短摘录:
a/MRSY
A'asia
a'body
a'thing
aaa
AAAS
Aaberg/M
Aachen/M
Aaedon/M
AAeE
AAeE's
aaerially
aaerialness
Aaerope/M
AAgr/M
aah/DGS
aal/MS
Aalborg
Aalesund
aalii/MS
Aaliyah/M
Aalst/M
Aalto
aam
Aandahl/M
Aani/M
Aaqbiye/M
Aar/MN
Aara/M
Aarau
aardvark/MS
aardwolf/M
aardwolves
Aaren/M
Aargau
aargh
Aarhus
Aarika/M
aarogramme
【问题讨论】:
请看How to create a Minimal, Complete, and Verifiable example。 mwl 文件中的数据样本会很有用。 【参考方案1】:我不确定您所说的后缀是什么意思,但我认为它是示例文本中 / 或 ' 后面的部分。您可以使用 Bash 中的简单管道来完成此操作。
cat something.mwl | perl -pe 's[/\x27].*$; ' > stripped_something.txt
-p
开关意味着在管道中运行 perl。无论您输入什么,都会一次一行地放入$_
,进行处理,然后打印出来。请注意,我将\x27
用作正则表达式中的撇号。在命令行中转义它是一个很大的痛苦。如果还有其他以后缀开头的字符,您可以将它们放在字符类中。
您也可以在以这种方式打印出来之前对线路进行任何其他工作。
有关-p
开关的更多信息,请参阅perlrun 文档。
【讨论】:
以上是关于如何从bash中的ispell .mwl文件中提取所有前缀词的主要内容,如果未能解决你的问题,请参考以下文章