我的音乐库中有一个非常特定的目录树。我想计算所有专辑,但不包括所有子目录。
例如,给定此目录树:
/music/
/music/Davis, Miles/
/music/Davis, Miles/Kind of Blue/
/music/Davis, Miles/Tutu/
/music/Hendrix, Jimi/
/music/Hendrix, Jimi/Axis Bold As Love/
/music/Hendrix, Jimi/Electric Ladyland/
/music/Hendrix, Jimi/Electric Ladyland/Disk 1
/music/Hendrix, Jimi/Electric Ladyland/Disk 2
我想要命令返回“ 4”。
因此,基本上,我希望该命令返回专辑的数量,或者如果它返回“ 2”解释和“ 4”专辑,则返回奖励积分。
(如果它另外列出了口译和专辑,则可以获得双倍奖励积分。)
我怎样才能最轻松地做到这一点?
要查看四张专辑:
$ ls -d1 music/*/*/
music/Davis, Miles/Kind of Blue/
music/Davis, Miles/Tutu/
music/Hendrix, Jimi/Axis Bold As Love/
music/Hendrix, Jimi/Electric Ladyland/
要计算它们:
$ printf "%q\n" music/*/*/ | wc -l
4
在此使用%q
格式来防止带有换行符的专辑名称被重复计数。
观看艺术家:
$ ls -d1 music/*/
music/Davis, Miles/
music/Hendrix, Jimi/
要计算艺术家数量:
$ printf "%q\n" music/*/ | wc -l
2
以上命令假定该文件music
位于当前目录中。如果music
目录实际上是/music
,则在所有上述命令的/
前面放置一个music
。否则,将前面的任何路径都放在前面music
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句