`sedoku’能玩智力游戏的sed脚本

前两个礼拜E. Rosten在sed邮件列表上帖了一个很强的sed脚本——sedoku

这个sed脚本是用来解sudoku字迷的。sudoku中玩家要根据给定的几个数字,对空格进行填充。使得每一行每一列中都有数字1到9,并且每个小正方形中的也必须有1到9(可参考下面的图)。老实说在见到这个脚本之前,我根本不知道有这种游戏。后来找了个线上sudoku用简单级玩了一下,成绩……。可以在sudoku的网站上找到更多sudoku游戏的信息(当然也可以google一下)。

`sedoku’确实是个让人开眼界的sed程序/脚本,因为大多数人都将sed的应用局限在很小的范围内——谁会想到它也可以用来解数字字迷游戏呢?建议对sed有兴趣的话一定要收藏!

另外,sedoku脚本接收的输入要求以点“.”代替空格。所以像这样的字迷:
sudoku

对应的文本格式应该为:

$ cat sudoku1
.3..1.89.
.1..96.5.
.654..7..
39..7....
84.6.1.73
....8..62
..9..564.
.8.76..1.
.57.4..2.

这是运行结果:

$ sed -f sedoku.sed sudoku1
234517896
718396254
965428731
396274185
842651973
571983462
129835647
483762519
657149328

[--结束--]


About this entry