Считаете, что Ubuntu недостаточно дружелюбна к новичкам? Помогите создать новое Руководство для новичков!
0 Пользователей и 1 Гость просматривают эту тему.
#!/bin/bash#MKV subtitle extracting by RazrFalcon#special thanks to aliftinfile=$@IFS=$' 'dir=`dirname $file`name=`basename $file | sed 's/.mkv//g'`num=0extnum=0str_num=`mediainfo "$file" | grep -n 'Text #' | sed 's/:Text #.//g'`function ext {echo "Extracting:" `echo $newmy | sed -ne "$2"p` "from "$file""mkvextract tracks "$file" -c UTF8 "$1":"$dir"/"$name"-"$2"."$3" --no-variable-data 2>&1 | awk -vRS='' '(NR>1){gsub(/%/," ");print $2; fflush();}' | zenity --progress --percentage=0 --auto-close --title="MKV Extraction Tools" --text="Extracting Subtitle Track №"$2"..." --width=300let extnum++}#one sub fileif [ -z "$str_num" ]; then str_num=`mediainfo "$file" | grep -n 'Text' | sed 's/:Text//g' | sed -ne "1"p` let str_num++ id_sub=`mediainfo "$file" | sed -ne "$str_num"p | awk '{print $3}'` let str_num++ format=`mediainfo "$file" | sed -ne "$str_num"p | awk '{print $3}'` if [ "$format" = "UTF-8" ]; then ext "$id_sub" "1" "srt"; fi if [ "$format" = "ASS" ]; then ext "$id_sub" "1" "ass"; fi if [ "$format" = "SSA" ]; then ext "$id_sub" "1" "ssa"; fielse#less then 3 sub file#get sub namesfor i in $str_num; do #get subtitle number (start from 1) str_num=`mediainfo "$file" | grep -n 'Text #' | sed 's/:Text #.//g'` let num++ snum+=""$num" " #get sub id's let i++ id_sub=`mediainfo "$file" | sed -ne "$i"p | awk '{print $3}'` ids+=""$id_sub" " my+="FALSE" #get sub format let i++ format=`mediainfo "$file" | sed -ne "$i"p | awk '{print $3}'` if [ $format = "UTF-8" ]; then format="SRT"; fi #get sub name let i+=4 stitle=`mediainfo "$file" | sed -ne "$i"p | awk '{print $3}'` let i++ slang=`mediainfo "$file" | sed -ne "$i"p | awk '{print $3}'` if [ -z $slang ];then my+=""$stitle" ("$format")"else my+=""$stitle" ("$format", "$slang")"fiif [ $format = "ASS" ]; then sformat+="ass "; fiif [ $format = "SSA" ]; then sformat+="ssa "; fiif [ $format = "SRT" ]; then sformat+="srt "; fidone#zenity choseanswer=$(zenity --list --title=$name --text="Select subtitles to extract:" --column=Item --column=Value --checklist --width=300 --height=242 $my --separator="")#if nothing chosenif [ -z "$answer" ] ; then exit 1; fiunset IFS#if something chosennewmy=`echo "$my" | sed '/FALSE/d' `IFS=$' 'for word in $newmy; do for word2 in $answer; do if [ "$word" = "$word2" ]; then temp="true"; fi done if [ "$temp" = "true" ]; then temp2+="true "; else temp2+="false "; fi temp=""doneunset IFS#send arguments to ext functionIFS=" "i3='$1'i4=1for str in $temp2; do if [ "$str" = "true" ]; then ext `echo "$ids" | awk -F" " '{print '$i3'}'` `echo "$snum" | awk -F" " '{print '$i3'}'` `echo "$sformat" | awk -F" " '{print '$i3'}'` echo "$sformat" | awk -F" " '{print '$i3'}' fi let i4++ i3='$'$i4doneunset IFSfiif [ $extnum -eq 0 ]; then gdialog --msgbox "No subtitles are extracted.May be mkv doesn't have subtitles." 25 20else gdialog --msgbox "Extracted "$extnum"subtitle files" 25 20fi
chmod +x script(ну или как вы там его обозвали),/script "path to file"
timur@lapto:~$ chmod +x scripttimur@lapto:~$ ./script 1.mkv./script: line 17: syntax error near unexpected token `|'./script: line 17: `| awk -vRS='' '(NR>1){gsub(/%/," ");print $2; fflush();}' '
function ext {echo "Extracting:" `echo $newmy | sed -ne "$2"p` "from "$file""mkvextract tracks "$file" -c UTF8 "$1":"$dir"/"$name"-"$2"."$3" --no-variable-data 2>&1 \| awk -vRS='\r' '(NR>1){gsub(/%/," ");print $2; fflush();}' \| zenity --progress --percentage=0 --auto-close --title="MKV Extraction Tools" \--text="Extracting Subtitle Track №"$2"..." --width=300let extnum++}
function ext {echo "Extracting:" `echo $newmy | sed -ne "$2"p` "from "$file""mkvextract tracks "$file" -c UTF8 "$1":"$dir"/"$name"-"$2"."$3" --no-variable-data 2>&1 | awk -vRS='\r' '(NR>1){gsub(/%/," ");print $2; fflush();}' | zenity --progress --percentage=0 --auto-close --title="MKV Extraction Tools" --text="Extracting Subtitle Track №"$2"..." --width=300let extnum++}
timur@lapto:~$ ./script 1.mkvtimur@lapto:~$ ./script 2.mkvtimur@lapto:~$ ./script 3.mkvExtracting: from 3.mkv
Страница сгенерирована за 2.967 секунд. Запросов: 25.