を使用して、iTunes で現在再生中の曲の歌詞を取得しようとしていosascriptます。私が使用しているコマンドは次のとおりです。
osascript -e '''tell application "iTunes" to lyrics of the current track'''
これの問題は、端末で実行したときに歌詞の最後の行しか取得できないことです。
最初に一時ファイルにコピーせずに完全な歌詞を取得することは可能ですか?
を使用して、iTunes で現在再生中の曲の歌詞を取得しようとしていosascriptます。私が使用しているコマンドは次のとおりです。
osascript -e '''tell application "iTunes" to lyrics of the current track'''
これの問題は、端末で実行したときに歌詞の最後の行しか取得できないことです。
最初に一時ファイルにコピーせずに完全な歌詞を取得することは可能ですか?
何らかの理由で、iTunesはLF (ラインフィード)文字の代わりにCR (キャリッジリターン)文字を使用して曲の歌詞の行を区切ります。キャリッジリターン–ええと、次の行に切り替えずにカーソルを左端の位置に戻します。そのため、ターミナル出力には最後の行しか表示されません。これは、出力をユーティリティ(変換の場合はtr)にパイプし、シェルエスケープコードと:を使用してCRをLFに置き換えることで簡単に修正できます。tr\r\n
osascript -e 'tell application "iTunes" to lyrics of current track' | tr '\r' '\n'