如何在bash中的diff过程中使用文件名中的regex



我尝试在bash:中区分两个文件

$ diff file-1-random-name file-2-random-name

这是有效的,现在我需要让它更通用,因为随机名称总是不同的。

我试过这样的东西:

$ diff file-1-* file-2-*

但这将在文件名中使用硬编码的*。如何使用diff命令在文件名中使用regex模式(就像一个*(?

通常,对于这样的事情,你必须执行一个循环,一个在shell中的显式循环,或者一个隐藏在你已经编写的脚本中的循环,并且你正在使用

作为一个简单的解决方案,您可以调整以下内容,即不检查丢失的文件等

for f1 in file-1* ; do
f2=${f1/file-1/file-2}
printf "Comparing %s with %s:n" "$f1" "$f2"
diff -options "$f1" "$f2"
done 

在上文中,我们使用参数编辑来查找第二个文件的名称。

最新更新