You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Bash中如何忽略单词顺序比较两个字符串内容是否一致

Bash忽略单词顺序比较字符串的实现

核心逻辑是将两个变量的单词拆分、排序后再对比,即可消除顺序差异的影响。

完整实现代码

#!/bin/bash

# 示例变量
VAR1="eu-endpoint-2021.09.20 prod-store-2021.09.20 service-trace-2021.09.20"
VAR2="prod-store-2021.09.20 eu-endpoint-2021.09.20 service-trace-2021.09.20"

# 对两个变量的单词进行排序后生成对比字符串
sorted1=$(echo "$VAR1" | xargs -n1 | sort | xargs)
sorted2=$(echo "$VAR2" | xargs -n1 | sort | xargs)

# 对比逻辑
if [ "$sorted1" = "$sorted2" ]; then
    # 单词集合一致时执行的逻辑
    echo "两个变量的单词集合完全一致"
    # 此处添加你需要执行的操作
else
    # 不一致时执行的逻辑
    echo "两个变量的单词集合存在差异"
    # 此处添加你需要执行的其他操作
fi

命令说明

  • xargs -n1:将输入的字符串按空格拆分,每行输出一个单词
  • sort:对拆分后的单词按字典序排序,消除顺序差异
  • xargs:将排序后的多行单词重新拼接为单行字符串

特殊场景适配

如果需要忽略重复单词(即只要单词存在即可,不要求出现次数一致),在sort命令后添加-u参数去重即可:

sorted1=$(echo "$VAR1" | xargs -n1 | sort -u | xargs)
sorted2=$(echo "$VAR2" | xargs -n1 | sort -u | xargs)

内容的提问来源于stack exchange,提问作者noze_potato

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 06:54:04