2

我正在尝试使用 iTunes 获取当前播放歌曲的歌词osascript。我正在使用的命令是:

osascript -e '''tell application "iTunes" to lyrics of the current track'''

这样做的问题是,当我在终端上运行它时,我只能得到歌词的最后一行。

是否可以在不先将它们复制到临时文件的情况下获得完整的歌词?

4

1 回答 1

2

出于某种原因,iTunes 使用CR(回车)字符而不是LF(换行)字符来分隔歌词的行。回车——嗯,将光标返回到最左边的位置而不切换到下一行,这就是为什么你只能在终端输出中看到最后一行的原因。这很容易通过管道输出到实用程序(tr 用于翻译)并使用 shell 转义码和tr用 LF 替换 CR 来解决:\r\n

osascript -e 'tell application "iTunes" to lyrics of current track' | tr '\r' '\n'
于 2012-01-31T14:44:11.490 回答