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"
)