История изменений
Исправление legolegs, (текущая версия) :
Вот так, пожалуй, даже почище и попонятней.
#!/bin/bash
function rawurlencode() {
local string="${1}"
local strlen=${#string}
local encoded=""
local pos c o
for (( pos=0 ; pos<strlen ; pos++ )); do
c=${string:$pos:1}
case "$c" in
[-_.~a-zA-Z0-9/] ) o="${c}" ;; #ИСПРАВЛЕНО чтобы не трогало слеши
* )
printf -v o '%%%02x' "'$c"
esac
encoded+="${o}"
done
echo "${encoded}"
}
export -f rawurlencode
function file2m3u() {
echo "\
#EXTINF:-1, $1
ftp://192.168.88.250/hdd/"$(rawurlencode "$1")
}
export -f file2m3u
{
echo '#EXTM3U'
find /YOUR/MOVIES/DIR/ -iname '*.mkv' -exec bash -c 'file2m3u "$0"' {} \;
} > playlist.m3u
Исправление legolegs, :
Вот так, пожалуй, даже почище и попонятней.
#!/bin/bash
function rawurlencode() {
local string="${1}"
local strlen=${#string}
local encoded=""
local pos c o
for (( pos=0 ; pos<strlen ; pos++ )); do
c=${string:$pos:1}
case "$c" in
[-_.~a-zA-Z0-9/] ) o="${c}" ;; #ИСПРАВЛЕНО чтобы не трогало слеши
* )
printf -v o '%%%02x' "'$c"
esac
encoded+="${o}"
done
echo "${encoded}"
}
export -f rawurlencode
function file2m3u() {
echo "\
#EXTINF:-1, $1
ftp://192.168.88.250/hdd/"$(rawurlencode "$1")
}
export -f file2m3u
{
echo '#EXTM3U'
find /YOUR/MOVIES/DIR/ -iname '*.mkv' -exec bash -c 'file2m3u "$0"' {} \;
} > playlist.m3u
Исправление legolegs, :
Вот так, пожалуй, даже почище и попонятней.
#!/bin/bash
function rawurlencode() {
local string="${1}"
local strlen=${#string}
local encoded=""
local pos c o
for (( pos=0 ; pos<strlen ; pos++ )); do
c=${string:$pos:1}
case "$c" in
[-_.~a-zA-Z0-9/] ) o="${c}" ;; #ИСПРАВЛЕНО чтобы не трогало слеши
* )
printf -v o '%%%02x' "'$c"
esac
encoded+="${o}"
done
echo "${encoded}"
}
function file2m3u() {
echo "\
#EXTINF:-1, $1
ftp://192.168.88.250/hdd/"$(rawurlencode "$1")
}
export -f file2m3u
{
echo '#EXTM3U'
find /YOUR/MOVIES/DIR/ -iname '*.mkv' -exec bash -c 'file2m3u "$0"' {} \;
} > playlist.m3u
Исходная версия legolegs, :
Вот так, пожалуй даже почище и по-понятней.
#!/bin/bash
function rawurlencode() {
local string="${1}"
local strlen=${#string}
local encoded=""
local pos c o
for (( pos=0 ; pos<strlen ; pos++ )); do
c=${string:$pos:1}
case "$c" in
[-_.~a-zA-Z0-9/] ) o="${c}" ;; #ИСПРАВЛЕНО чтобы не трогало слеши
* )
printf -v o '%%%02x' "'$c"
esac
encoded+="${o}"
done
echo "${encoded}"
}
function file2m3u() {
echo "\
#EXTINF:-1, $1
ftp://192.168.88.250/hdd/"$(rawurlencode "$1")
}
export -f file2m3u
{
echo '#EXTM3U'
find /YOUR/MOVIES/DIR/ -iname '*.mkv' -exec bash -c 'file2m3u "$0"' {} \;
} > playlist.m3u