나는 밧줄을 가지고 있습니다 GameOfThronesS01E05.mkv
. 정규식과 함께 GameOfThronesS01E05
사용하고 싶습니다 sed
.
나는 노력했다
echo GameOfThronesS01E05.mkv | sed 's/\(.+\)\.mkv$/\1/'
하지만 소용없어
답변1
GNU 유틸리티가 있는 시스템을 사용하는 경우 언제든지 다음을 basename
사용하여 확장 기능을 제거할 수 있습니다.
$ basename -s ".mkv" GameOfThronesS01E05.mkv
GameOfThronesS01E05
그 외에도 Python은 항상 좋은 선택입니다.
$ python -c 'import sys;print sys.argv[1][:-4]' GameOfThronesS01E05.mkv
GameOfThronesS01E05
답변2
더 간단한 해결책은 다음과 같습니다.
echo GameOfThronesS01E05.mkv | sed -n 's/.mkv//p'
답변3
@don_crissti에게 감사드립니다. 이것은 내 MKV에서 MP4로의 변환기입니다.
$vi /usr/local/bin/MKVtoMP4
for entry in *
do
if [[ $entry =~ .+\.mkv$ ]]; then
FILENAME=`echo $entry | sed -E 's/(.+)\.mkv$/\1/'`
ffmpeg -i "$entry" -codec copy "${FILENAME}.mp4"
fi
done
chmod ug+x /usr/local/bin/MKVtoMP4