首页 > 解决方案 > 删除不包含“a、i、o”的单字词

问题描述

我正在创建一个 shell 脚本,它将标准输入和输出转换为标准输出。目前我已经将所有内容都转换为小写。我还需要删除不是“a”、“i”或“o”的单字符单词。

这是我尝试过的:

grep -o  '[a-z]\{2,\}' | while read WORD

这里的愿望,

鉴于 myText.txt 有类似“Sample text t I o im”的内容

输出:

sample text i o im

如果 awk、sed 或其他 bash 内置程序工作得更好,我很想听听。

任何帮助表示赞赏,只是想学习。

标签: bash

解决方案


如果perl是您的选择,如何:

perl -lane 'print join(" ", grep {tr /A-Z/a-z/; !/^[^aio]$/} @F)' myText.txt

输出:

sample text i o im

推荐阅读