我有两个变量,像这样
bigger="a b c d e"
smaller="c a b"
Run Code Online (Sandbox Code Playgroud)
有没有办法在 bash 脚本中获得设置的差异(即 d 和 e)?
顺序并不重要。
您可以使用该comm程序来获取两组值之间的差异。它需要排序的输入,因此您必须将值通过管道传输到sort. 由于它们要求每个项目位于单独的行上,因此您应该首先将空格转换为换行符。您可以使用进程替换和此处字符串将字符串提供给程序。
diff=$(comm -23 <(tr ' ' '\n' <<<"$bigger" | sort) <(tr ' ' '\n' <<<"$smaller" | sort))
Run Code Online (Sandbox Code Playgroud)