Bash 在多个具有变量名的文件上使用diff
我有一大堆文件,例如:Bash 在多个具有变量名的文件上使用diff,bash,file,terminal,Bash,File,Terminal,我有一大堆文件,例如: error1.sol error2.sol comment1.sol 等等 我的程序已创建以下输出文件: myerror1.sol myerror2.sol mycomment1.sol 等等 如何以优雅的方式使用diff进行匹配 diff error1.sol myerror1.sol diff error2.sol myerror2.sol 自动地 for fname in my*.sol do diff "${fname#my}" "$fname" d
error1.sol
error2.sol
comment1.sol
等等
我的程序已创建以下输出文件:
myerror1.sol
myerror2.sol
mycomment1.sol
等等
如何以优雅的方式使用diff
进行匹配
diff error1.sol myerror1.sol
diff error2.sol myerror2.sol
自动地
for fname in my*.sol
do
diff "${fname#my}" "$fname"
done
上面查找程序创建的每个文件(my*.sol
)。每个这样的文件依次分配给变量名fname
。使用fname
,我们可以通过从前面删除my
来获取源文件的名称。这是通过${fname#my}
完成的<然后在这两个文件上运行code>diff。循环重复的文件数量与当前目录中的文件数量相同
如果添加echo
命令以显示正在比较的文件,您可能会发现输出更易于阅读:
for fname in my*.sol
do
echo Comparing "${fname#my}" and "$fname"
diff "${fname#my}" "$fname"
done