fld=$(mediainfo Fixing\ One\ of\ Linux\'s\ Biggest\ Flaws.mp4 | awk -F " : " 'NR==10 {print $2}');
mkdir "$fld"
mediainfoの出力からPerformerを取得しようとしています。 10行目には以下が含まれます。
Performer : The Linux Cast
このファイルには「The Linux Cast」自体が必要です。 bashスクリプトでは機能しません。インラインファイル区切り文字を設定しましたが、中括弧の拡張に失敗しました。 youtube-dlを使用してファイルをダウンロードし、mediainfoを使用して読み込みます。
コードがシェルで機能しない理由を理解していません。おそらくsedや他のコアユーティリティを使用する必要があります。
コンテンツ作成者ごとにファイルを整理してみてください。
答え1
行番号に依存しないでくださいPerformer
。
fld=$(
mediainfo "Fixing One of Linux's Biggest Flaws.mp4" |
sed -n 's/^Performer[[:space:]]*:[[:space:]]*//p'
)
またはGNUを使用してくださいgrep
:
fld=$(
mediainfo "Fixing One of Linux's Biggest Flaws.mp4" |
grep -Po '^Performer\s*:\s*\K.*'
)
または以下を使用してくださいexiftool
。
fld=$(
exiftool -q -p '$Artist' "Fixing One of Linux's Biggest Flaws.mp4"
)