0

誰かが私のbashテキスト解析行を修正するのを手伝ってもらえますか?

プログラム: eyeD3

ファイル

PathAndPlaylists.txt【タブ区切り】

/home/Music/A/アベレージ・ホワイト・バンド/1975/アベレージ・ホワイト・バンド - カット・ザ・ケーキ.mp3 1970-POP; -オールポップ; 1970-ALL

cat PathAndPlaylists.txt | while read z; do filename=$(echo "$z" | cut -f1) playlists=$(echo "$z" | cut -f2) eyeD3 --no-tagging-time-frame --no-zero-padding --set-text-frame=TCOM:"$playlists" "$filename" done

目的

上記のテキスト ファイル (PathAndPlaylists.txt) の各絶対ファイル/パスをプログラム 'eyeD3' に使用して、2 番目のタブ区切りフィールド (1970-POP; -ALL-POP; 1970-ALL) を使用します。

問題:ファイル/パスがテキストとして扱われ、一部の文字がコードに失敗することを保証できません。たとえばコンマ。

よろしくお願いします。

4

1 に答える 1

1

入力がタブで区切られている場合は、シェルにそのように伝えてください。

while IFS='        ' read filename playlists; do
    eyeD3 ... "$playlists" ... "$filename"
done <PathAndPlaylists.txt

IFS= 値は、リテラルのタブ文字である必要があります。プロンプトで作業する場合、文字通りのタブを取得するために ctrl-V tab のようなものを入力する必要があるかもしれません。詳細については、シェルのドキュメントを確認してください。

于 2012-08-06T17:03:51.897 に答える