小编Kau*_*yak的帖子

Bash:通过对两个文件参数进行排序来使用 exec find 选项

假设我想比较这两个目录之间具有相同文件名的文件:

 /tmp/datadir/dir1/dir2/
Run Code Online (Sandbox Code Playgroud)

 /datadir/dir1/dir2/
Run Code Online (Sandbox Code Playgroud)

在比较之前需要它们进行排序

我目前在/tmp目录中,我尝试find使用以下exec选项运行它:

find datadir -type f -exec sdiff -s <( sort {} ) <( sort "/"{} ) \;
Run Code Online (Sandbox Code Playgroud)

但是,它给了我一个错误

排序:打开失败:{}:没有这样的文件或目录

排序:打开失败:/{}:没有这样的文件或目录

但是,下面的命令工作正常,但没有对数据进行排序以进行适当的比较。

find data -type f -exec sdiff -s  {}  "/"{} \;
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

bash find sort

4
推荐指数
1
解决办法
433
查看次数

标签 统计

bash ×1

find ×1

sort ×1