我有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
TEST1:
apple;orange;
如何比较test1和test并执行与值匹配的其余命令?
在这种情况下,它应该运行mkdir /etc/test;cd /etc/test;touch 123;mkdir 1234
。
答案 0 :(得分:1)
如果您的实际Input_file与显示的示例相同,那么awk
之后可能会对您有所帮助。此外,由于我没有权限在/etc
中创建目录,因此无法使用给定的样本对其进行测试。
awk 'FNR==NR{sub(/\;$/,"");a[$0];next} (($1,$2) in a){$1=$2="";system($0)}' SUBSEP=";" test1 FS=";" test
OR(不含SUBSEP
):
awk 'FNR==NR{sub(/\;$/,"");a[$0];next} (($1";"$2) in a){$1=$2="";system($0)}' test1 FS=";" test