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 …
。