我有两个变量,它们的值都可以是。我想从这两个变量创建一个唯一的列表。
VAR1="SERVER1 SERVER2 SERVER3"
VAR2="SERVER1 SERVER5"
我想得到的结果是:
"SERVER1 SERVER2 SERVER3 SERVER5"
最佳答案
以下通过带有唯一参数的sort
程序将两个列表的组合管道化:
UNIQUE=$(echo "$VAR1 $VAR2" | tr ' ' '\n' | sort -u)
这将给出输出:
> echo $UNIQUE
SERVER1 SERVER2 SERVER3 SERVER5
编辑:
正如William Purcell在下面的注释中指出的,这将用新行分隔字符串。如果希望再次用空格分隔,可以通过管道将输出从sort back传递到
-u
:> UNIQUE=$(echo "$VAR1 $VAR2" | tr ' ' '\n' | sort -u | tr '\n' ' ')
> echo "$UNIQUE"
SERVER1 SERVER2 SERVER3 SERVER5
关于linux - 从Linux bash Shell脚本中的两个变量创建唯一列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12533012/