网易首页 > 网易号 > 正文 申请入驻

用 Linux 命令行解决 Wordle 问题 | Linux 中国

0
分享至

导读:使用 Linux 的 grep 和 fgrep 命令来赢得你最喜欢的基于单词的猜测游戏。       

本文字数:3396,阅读时长大约: 4分钟

https://linux.cn/article-14253-1.html
作者:Jim Hall
译者:geekpi


使用 Linux 的 grep 和 fgrep 命令来赢得你最喜欢的基于单词的猜测游戏。

我最近有点迷恋上了一个在线单词猜谜游戏,在这个游戏中,你有六次机会来猜一个随机的五个字母的单词。这个词每天都在变化,而且你每天只能玩一次。每次猜测后,你猜测中的每个字母都会被高亮显示:灰色表示该字母没有出现在神秘单词中,黄色表示该字母出现在单词中,但不在那个位置,绿色表示该字母出现在单词中的那个正确位置。

下面是你如何使用 Linux 命令行来帮助你玩像 Wordle 这样的猜测游戏。我用这个方法来帮助我解决 1 月 6 日的谜题:

第一次尝试

Linux 系统在 /usr/share/dict/words 文件中保存了一个单词词典。这是一个很长的纯文本文件。我的系统的单词文件里有超过 479,800 个条目。该文件既包含纯文本,也包含专有名词(名字、地点等等)。

为了开始我的第一次猜测,我只想得到一个长度正好是五个字母的纯文本词的列表。要做到这一点,我使用这个 命令:

  1. $ grep '^[a-z][a-z][a-z][a-z][a-z]$' /usr/share/dict/words > myguess

命令使用正则表达式来进行搜索。你可以用正则表达式做很多事情,但为了帮助我解决 Wordle 问题,我只需要基本的东西。^ 表示一行的开始,$ 表示一行的结束。在两者之间,我指定了五个 [a-z] 的实例,表示从 a 到 z 的任何小写字母。

我还可以使用 命令来查看我的可能单词列表,“只有” 15,000 个单词:

  1. $ wc -l myguess

  2. 15034 myguess

从这个列表中,我随机挑选了一个五个字母的单词:acresa 被设置为黄色,意味着该字母存在于神秘单词的某处,但不在第一位置。其他字母是灰色的,所以我知道它们并不存在于今天的单词中。

acres word attempt

第二次尝试

对于我的下一个猜测,我想得到一个包含 a 的所有单词的列表,但不是在第一位置。我的列表也不应该包括字母 cres。让我们把这个问题分解成几个步骤。

为了得到所有带 a 的单词的列表,我使用 (固定字符串 grep)命令。 命令也像 一样搜索文本,但不使用正则表达式:

  1. $ fgrep a myguess > myguess2

这使我的下一个猜测的可能列表从 15,000 个字下降到 6,600 个字:

  1. $ wc -l myguess myguess2

  2. 15034 myguess

  3. 6634 myguess2

  4. 21668 total

但是这个单词列表中的第一个位置也有字母 a,这是我不想要的。游戏已经表明字母 a 存在于其他位置。我可以用 修改我的命令,以寻找在第一个位置包含其他字母的词。这就把我可能的猜测缩小到了 5500 个单词:

  1. $ fgrep a myguess | grep '^[b-z]' > myguess2

  2. $ wc -l myguess myguess2

  3. 15034 myguess

  4. 5566 myguess2

  5. 20600 total

但我知道这个神秘的词也不包括字母 cres。我可以使用另一个 命令,在搜索中省略这些字母:

  1. $ fgrep a myguess | grep '^[b-z]' | grep -v '[cres]' > myguess2

  2. $ wc -l myguess myguess2

  3. 15034 myguess

  4. 1257 myguess2

  5. 16291 total

-v 选项意味着反转搜索,所以 将只返回不符合正则表达式 [cres] 或单列字母 cres 的行。有了这个额外的 命令,我把下一个猜测的范围大大缩小到只有 1200 个可能的单词,这些单词在某处有一个 a,但不在第一位置,并且不包含 cre、或 s

在查看了这个列表后,我决定尝试一下 balmy 这个词。

balmy word attempt

第三次尝试

这一次,字母 ba 被高亮显示为绿色,意味着我把这些字母放在了正确的位置。字母 l 是黄色的,所以这个字母存在于单词的其他地方,但不是在那个位置。字母 my 是灰色的,所以我可以从我的下一个猜测中排除这些。

为了确定下一个可能的单词列表,我可以使用另一组 命令。我知道这个词以 ba 开头,所以我可以从这里开始搜索:

  1. $ grep '^ba' myguess2 > myguess3

  2. $ wc -l myguess3

  3. 77 myguess3

这只有 77 个词! 我可以进一步缩小范围,寻找除第三位外还包含字母 l 的词:

  1. $ grep '^ba[^l]' myguess2 > myguess3

  2. $ wc -l myguess3

  3. 61 myguess3

方括号 [^l] 内的 ^ 表示不是这个字母列表,即不是字母 l。这使我的可能单词列表达到 61 个,并非所有的单词都包含字母 l,我可以用另一个 搜索来消除这些单词:

  1. $ grep '^ba[^l]' myguess2 | fgrep l > myguess3

  2. $ wc -l myguess3

  3. 10 myguess3

这些词中有些可能包含字母 my,而这些字母并不在今天的神秘词中。我可以再进行一次反转 搜索,将它们从我的猜测列表中删除:

  1. $ grep '^ba[^l]' myguess2 | fgrep l | grep -v '[my]' > myguess3

  2. $ wc -l myguess3

  3. 7 myguess3

我的可能的单词列表现在非常短,只有七个单词!

  1. $ cat myguess3

  2. babul

  3. bailo

  4. bakal

  5. bakli

  6. banal

  7. bauld

  8. baulk

我选择 banal 作为我下一次猜测的可能的词,而这恰好是正确的。

banal word attempt

正则表达式的力量

Linux 的命令行提供了强大的工具来帮助你完成实际工作。 和 命令在扫描单词列表方面提供了极大的灵活性。对于一个基于单词的猜测游戏, 帮助识别了一个包含 15000 个可能的单词的列表。在猜测并知道哪些字母出现在神秘的单词中,哪些没有, 和 帮助将选项缩小到 1200 个单词,然后只剩下 7 个单词。这就是命令行的力量。

via:

作者: 选题: 译者: 校对:

本文由 原创编译, 荣誉推出

欢迎遵照 CC-BY-NC-SA 协议规定转载,

如需转载,请在文章下留言 “ 转载:公众号名称”,

我们将为您添加白名单,授权“ 转载文章时可以修改”。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
被年轻人的“降温大法”惊到了!我试了一周:真香,比空调还舒服

被年轻人的“降温大法”惊到了!我试了一周:真香,比空调还舒服

另子维爱读史
2026-07-16 21:00:15
伊朗:美方袭击将导致该地区不会出口“一滴石油”

伊朗:美方袭击将导致该地区不会出口“一滴石油”

新京报
2026-07-15 08:35:22
耿同学打假升级!实名质疑中山大学院士论文,学术治理迎来关键考验

耿同学打假升级!实名质疑中山大学院士论文,学术治理迎来关键考验

火山詩话
2026-07-17 06:42:28
包工头与食堂大姐相好5年,项目完工提分开,这才意识到晚了

包工头与食堂大姐相好5年,项目完工提分开,这才意识到晚了

磊子讲史
2025-06-28 16:28:57
中国为什么总说要扩大消费,却迟迟没有进行大规模收入分配改革?

中国为什么总说要扩大消费,却迟迟没有进行大规模收入分配改革?

素衣读史
2026-06-25 22:12:10
DeepSeek工资待遇登上热搜,清华姚班晒实习工资日薪5500元;3万内双冠王!美家中央空调再出新品;国行苹果AI通过备案,接入千问、百度

DeepSeek工资待遇登上热搜,清华姚班晒实习工资日薪5500元;3万内双冠王!美家中央空调再出新品;国行苹果AI通过备案,接入千问、百度

雷峰网
2026-07-16 08:43:08
终于知道体制内下乡驻村和值夜班为什么很少安排女同志了,不是照顾女性,而是有风险和不方便!

终于知道体制内下乡驻村和值夜班为什么很少安排女同志了,不是照顾女性,而是有风险和不方便!

黯泉
2026-07-16 14:08:52
把瑜伽裤穿成日常的松弛感美女

把瑜伽裤穿成日常的松弛感美女

只要高兴就好
2026-04-13 14:30:30
失业或长期没有收入的人,是怎么活下去的?网友说:啃伴侣、啃老、啃儿子啃一切能啃的人!

失业或长期没有收入的人,是怎么活下去的?网友说:啃伴侣、啃老、啃儿子啃一切能啃的人!

灯锦年
2026-07-16 17:14:01
准时起飞,俄末日飞机升空抵华,普京誓言复仇,乌克兰惹下大祸。

准时起飞,俄末日飞机升空抵华,普京誓言复仇,乌克兰惹下大祸。

墨羽怪谈
2026-07-16 03:48:56
刷新纪录!长鑫科技中签率0.47141739%

刷新纪录!长鑫科技中签率0.47141739%

证券时报
2026-07-16 21:34:03
江苏高校排名洗牌:南航与江大爆冷引热议

江苏高校排名洗牌:南航与江大爆冷引热议

呼呼历史论
2026-07-17 05:27:34
侃爷老婆刷新穿搭底线,穿绑绳内衣就出门,全身布料没头顶帽子多

侃爷老婆刷新穿搭底线,穿绑绳内衣就出门,全身布料没头顶帽子多

林轻吟
2026-07-13 22:08:44
沙滩冲脚3元30秒,女子发视频吐槽,怒斥秦皇岛文旅,遭网友批评

沙滩冲脚3元30秒,女子发视频吐槽,怒斥秦皇岛文旅,遭网友批评

谭谈社会
2026-07-17 08:45:16
整容失败不可怕,一股姨味才尴尬!52岁苏有朋给所有男星提了个醒

整容失败不可怕,一股姨味才尴尬!52岁苏有朋给所有男星提了个醒

胡一舸南游y
2026-06-28 22:43:38
那个媚日辱军的“天才作家”倒掉了,那个专写屎尿屁诗的“青年诗人”也倒掉了!

那个媚日辱军的“天才作家”倒掉了,那个专写屎尿屁诗的“青年诗人”也倒掉了!

李光满说
2026-07-15 14:13:42
“小仙女”又横空出世!一女生看到备胎结婚天塌了,发小作文狂骂

“小仙女”又横空出世!一女生看到备胎结婚天塌了,发小作文狂骂

糖逗在娱乐
2026-07-13 02:31:19
姆巴佩金靴奖悬了!法国队厌烦季军赛,球员计划度假,梅西暂领先

姆巴佩金靴奖悬了!法国队厌烦季军赛,球员计划度假,梅西暂领先

十点街球体育
2026-07-16 21:56:42
特朗普180度转向:停止对伊朗军事行动,撤军引第三战场隐忧

特朗普180度转向:停止对伊朗军事行动,撤军引第三战场隐忧

阿晪美食
2026-07-16 15:14:56
为了不再“忍一辈子”,她们让医生拿尺子量了319个人的外阴

为了不再“忍一辈子”,她们让医生拿尺子量了319个人的外阴

樱桃小丸子1987
2026-07-09 14:21:48
2026-07-17 09:35:00
Linux
Linux
Linux 中国开源社区
8018文章数 73111关注度
往期回顾 全部

科技要闻

月之暗面发布Kimi K3,参数规模达2.8万亿

头条要闻

FIFA回应阿根廷球员展示"马岛横幅":正评估比赛报告

头条要闻

FIFA回应阿根廷球员展示"马岛横幅":正评估比赛报告

体育要闻

逆天6后卫神阵,图赫尔活活坑死英格兰

娱乐要闻

天下无不散宴席!白鹿官宣告别欢娱

财经要闻

全球科技股剧烈震荡

汽车要闻

小鹏MONA L03上市为什么选在慕尼黑?

态度原创

健康
本地
房产
时尚
公开课

中风为何总在激动、用力时到来?

本地新闻

人生必去清单:那达慕大会开嗨!

房产要闻

洞察新局 | 2026年海珠置业红盘图鉴

放暑假的中学生,挤满医院整形科

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版