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

如何在命令行中一行代码比较两个字符串(无需创建文件)

无需文件的一行命令验证字符串比较(含换行)

你需要比较的两个字符串核心差异在于第二个包含换行符,只需一行命令就能完成验证,无需创建临时文件:

[ "84fbe59c20f52b43125f76a9101e373f775a75b89435cdda301a63694c69c2da" = "$(echo '84fbe59c20f52b43125f76a9101e373f775a75b89435cdda30
1a63694c69c2da' | tr -d '\n')" ] && echo 1 || echo 0

命令说明:

  • 用单引号包裹带换行的第二个字符串,直接通过echo输出
  • tr -d '\n' 移除字符串中的所有换行符,将两行内容合并为一行
  • [ str1 = str2 ] 执行字符串相等性校验
  • 校验通过时输出1,不通过时输出0,满足布尔结果需求

如果使用Bash,也可以用参数替换实现,无需管道:

target_str="84fbe59c20f52b43125f76a9101e373f775a75b89435cdda301a63694c69c2da"
compare_str=$'84fbe59c20f52b43125f76a9101e373f775a75b89435cdda30\n1a63694c69c2da'
[[ "$target_str" == "${compare_str//$'\n'/}" ]] && echo 1 || echo 0

这里用$'...'语法让Bash识别换行转义符\n,再通过${compare_str//$'\n'/}把所有换行替换为空,最后完成比较。

内容的提问来源于stack exchange,提问作者Md. A. A. Apu

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 03:03:20