Unix 将mp3信息写入文本文件的终端命令

Unix 将mp3信息写入文本文件的终端命令,unix,terminal,Unix,Terminal,我希望运行一个命令,从目录中的mp3中获取信息,并将每个mp3的信息写入一个同名的文本文件 使用id3lib获取MP3信息。这是我到目前为止所做的,但没有达到预期的效果 这给了我一个名为“{}.txt”的文本文件,其中包含 find . -name \*.mp3 -exec info=$(id3info {}); name=({}); echo $info >> {}.txt 朝着这样的方向努力 find . -name \*.mp3 -exec info=$(id

我希望运行一个命令,从目录中的mp3中获取信息,并将每个mp3的信息写入一个同名的文本文件

使用id3lib获取MP3信息。这是我到目前为止所做的,但没有达到预期的效果

这给了我一个名为“{}.txt”的文本文件,其中包含

    find . -name \*.mp3 -exec info=$(id3info {}); name=({}); echo $info >> {}.txt
朝着这样的方向努力

    find . -name \*.mp3 -exec info=$(id3info {}) : filename=$({}); echo $info >> $filename.text : restart ;\ 

谢谢您的帮助。

您需要执行一个shell命令作为
-exec
选项的参数。以下内容可能适用于您:

find . -name "*.mp3" -exec sh -c "id3info {} > {}.txt" \;
如果还需要将mp3文件名添加到输出中,请说:

find . -name "*.mp3" -exec sh -c "{ echo {} ; id3info {} ; } > {}.txt" \;

伟大的一切正常。唯一的问题是它的文件名包括.mp3这样;“test.mp3.txt”