我正在比较两个变量Variable1和Variable2。如果两个变量之间存在重复,则我要删除变量中的整行,其中重复出现在变量1中。
例如:
variable1
-----
aaa*
bbb
ccc*
ddd
variable2
-----
aaa*
bbb
我的预期输出是:
variable1
-----
ccc*
ddd
我当前得到的输出:
variable1
------
aaa*
ccc*
ddd
这是我的脚本:
echo "$variable2" | sed "/"$variable1"/d" >> output.txt
为什么我的variable1参数没有在字符串末尾捕获通配符?
答案 0 :(得分:0)
将变量保存在自己的文件中
$ cat var1.txt
aaa*
bbb
ccc*
ddd
$ cat var2.txt
aaa*
bbb
您可以使用comm
(公用)命令来隔离两个文件的共同点或共同点。
$ comm -23 var1.txt var2.txt
ccc*
ddd
标志-23表示不打印第二或第三输出列
两个文件都必须排序,否则comm
会报错。