假设在当前目录中有一些文件名为:test1.out, test2.out, test3.out ...
test1.expect, test.expect, test3.expect ...
我想将每个测试.out与其对应的测试.expect进行比较,例如:
diff test1.out test1.expect
diff test2.out test2.expect
我想知道怎样才能更有效率地做到这一点。谢谢你,谢谢!
我对Linux shell不太熟悉。我尝试过这样的事情:for i in *.out; do diff "$i" "$i.expect"; done
但我意识到这是不正确的,因为$i
包括.out
扩展。
2条答案
按热度按时间ycggw6v21#
有了Bash,你就有了很多强大的参数扩展变体。例如,在您尝试的这个变体中:
"${i/%out/expect}"
扩展为shell变量i
的值,尾部的out
(如果有)被expect
替换。The bash man page和the bash manual都是bash特性和功能的很好参考。
0yycz8jy2#
我会做: