在 Bash 中删除多个字符串中的重复单词,可以使用 awk
命令结合数组来实现。以下是一个示例命令:
echo "apple banana apple orange banana" | awk '{for(i=1;i<=NF;i++)if(!seen[$i]++)printf("%s ",$i)}'
解释:
echo "apple banana apple orange banana"
:输出一个包含重复单词的字符串。awk
:使用 awk 命令处理输入。for(i=1;i<=NF;i++)
:遍历输入字符串中的每个单词。if(!seen[$i]++)
:检查当前单词是否已经在数组 seen
中出现过。如果没有出现过,则执行后面的代码。printf("%s ",$i)
:打印当前单词,并在后面加上一个空格。运行上述命令后,输出将是:
apple banana orange
这样就成功删除了重复的单词。
这个命令在处理文本文件或命令输出时非常有用,特别是当你需要清理重复的单词以进行进一步的分析或处理时。
如果你需要处理更复杂的情况,比如忽略大小写或处理特殊字符,可以进一步修改 awk 脚本。
领取专属 10元无门槛券
手把手带您无忧上云