查找包含多个共享相同基本名称的文件的目录

查找包含多个共享相同基本名称的文件的目录

genre_我该如何修改以下 bash 指令以仅获取与 (basename) 和另一个完全匹配的目录genre_*。作为下一步,我将其附加| wc -l到第二个find,但我为每一行获得了相同的非常高的数字,这告诉我这是跨目录的计数(为什么?)?

$ find . -name 'genre_' -exec dirname {} \; | while EFS= read -r thedir; do echo "$(find . -name 'genre_*')"; done
./The-Specials/genre_
./The-Specials/genre_rock
./ACDC/genre_Hard-Rock
./We-3/genre_
./We-3/genre_Jazz

在上面的输出中,只有 ACDC 应该被过滤掉。

答案1

我承认我不明白你的代码应该做什么(阅读:这个问题不清楚)。不过我可以回答这个问题:

下一步,我将其附加| wc -l到第二个find,但每一行都得到了相同的非常高的数字,这告诉我这是一个跨目录的计数(为什么?)

read -r thedir但你thedir从来没用过。第二个find每次都是相同的命令,从开始.,因此数字相同。

补充:我不明白 的意义echo "$(find …)"。这段代码有点可疑。可能应该只是find …

相关内容