我有 2 个文件,比如 test 和 test1,它们的值如下。
测试:
apple;orange;mkdir /etc/test;cd /etc/test;touch 123;mkdir 1234
banana;orange;cd /etc/test;touch abc;mkdir abcd
grape;lemon;cd /etc/test;touch abcd;mkdir abcde
测试1:
apple;orange;
如何比较 test1 和 test 并执行与值匹配的其余命令?
在这种情况下,它应该运行mkdir /etc/test;cd /etc/test;touch 123;mkdir 1234
。
如果您的实际 Input_file(s) 与所示示例相同,那么以下内容awk
可能对您有所帮助。此外,由于我无权在其中创建目录,/etc
因此无法使用给定的示例对其进行测试。
awk 'FNR==NR{sub(/\;$/,"");a[$0];next} (($1,$2) in a){$1=$2="";system($0)}' SUBSEP=";" test1 FS=";" test
或(没有SUBSEP
):
awk 'FNR==NR{sub(/\;$/,"");a[$0];next} (($1";"$2) in a){$1=$2="";system($0)}' test1 FS=";" test
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句