linux - 字典的grep过滤

标签 linux bash sed grep

我很难掌握如何在我所在的类(class)中使用 grep,希望有人能帮助指导我完成这项任务。赋值如下。

使用 grep 打印 linux 字典中有一个字母重复一次的所有 5 个字母小写单词(aabbe 或 ababe 无效,因为 a 和 b 在单词中出现了两次)。在该打印品旁边,重复的字母之后按字母升序购买非重复的字母。

老师指出,我们将需要使用几 (6) 个 grep 语句(将结果通过管道传输到下一个 grep)和一个 sed 语句(字符串编辑器)来重新格式化最终的单词集,然后将它们通过管道传输到读取循环中将三个非重复字母撕开并对其进行排序。

Sample Output:
aback a bck 
abaft a bft 
abase a bes 
abash a bhs 
abask a bks 
abate a bet 

除了打印 5 个字符的单词,我还没有想出如何做,

grep "^.....$" /usr/share/dict/words |

最佳答案

没有彻底检查,但这可能有效

tr '[:upper:]' '[:lower:]' | egrep -x '[a-z]{5}' | sed -r 's/^(.*)(.)(.*)\2(.*)$/\2 \1\3\4/' | grep " " | egrep -v "(.).*\1"

但是按照你的方式去做,因为有人可能会在这里看到它。

关于linux - 字典的grep过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26789729/

相关文章:

linux - 如何在bash中显示一行文本

php - -bash : laravel: command not found

linux - KSH:限制一次可以运行的线程数

go - 如何惯用地更改 go github 导入路径?

text - 将文本文件中包含的字符串添加到每第四行的末尾

linux - bash 中的参数

linux - 从 Linux 用户空间实现 i2c

c - 在 glibc 源代码中哪里可以找到 select() 源代码?

shell - 使用 awk、sed 修剪前 9 个字母

linux - 如何在 shell 脚本中使用 at 命令?