这是我的音乐脚本的最小版本。这段代码不能正确地用引号引起来。
find /PATH/ -type f -exec basename "{}" + 2>/dev/null \
| cut -f1 -d '-' \
| LC_ALL=C sort -f \
| gsed -e "s/\b\(.\)/\u\1/g" \
| uniq -c -i \
| sed -e 's/\ $/;/' -e 's/\./_/g' \
| awk '{numero=$1;$1=""}{print $0,numero}' \
| sed 's/^ *//' \
| perl -pe 's/^(\w+ \w+ \w+ )(w.)/\1;/g' \
> /PATH/MYMUSIC.txt;
< <( sed -e 's/ /;/' -e 's@\([0-9]\+\) \(.*\)@\2;\1@' /PATH/MYMUSIC.txt ) \
awk -F";" '{a[$1]+=$NF} END {for(i in a)print i": "a[i];}' \
| LC_ALL=C sort -f \
| sed -e 's/_/\./g' -e 's/\__;/\ ;/' \
| pr -3 -o 2 -w 200 -l 57;
这些是文件夹中有问题的文件的示例:
Eddie 'Big Blues' Carson - Dip My Dipper.mp3
Eddie 'Big Blues' Carson - Mustang Sally.mp3
Eddie 'Big Blues' Carson w. Bobby Smith Big Sounds - Walkin' and cryin'.mp3
所需的结果是:
Eddie 'Big Blues' Carson: 3
但是使用此代码,结果是:
Eddie 'Big Blues' Carson: 2
Eddie 'Big Blues' Carson w. Bobby Smith Big Sounds: 1
如果我使用"
或’
,结果不会改变。
有人可以帮助我吗?
我运行OsX。谢谢