История изменений
Исправление Desmond_Hume, (текущая версия) :
#!/bin/bash
for a in /home/user/Documents/Test\ Files/*;
do
function filetype_is1 {
echo $(file "$a" | cut -d ":" -f 2 | cut -d " " -f 2)
}
if [ $(filetype_is1) = "directory" ]; then
:
else
if [ $(filetype_is1) = "Unicode" ]; then
mv "$a" /home/user/Documents/Test\ Files/test/${a%}.converted
else
:
fi
fi
done
for b in /home/user/Documents/Test\ Files/*;
do
function filetype_is2 {
echo $(file "$b" | cut -d ":" -f 2 | cut -d " " -f 2)
}
if [ $(filetype_is2) = "directory" ]; then
:
else
iconv -f WINDOWS-1251 -t UTF-8 "$b" -o "${b%}.converted" && mv "${b%}.converted" /home/user/Documents/Test\ Files/test/
fi
done
for c in /home/user/Documents/Test\ Files/*;
do
function filetype_is3 {
echo $(file "$c" | cut -d ":" -f 2 | cut -d " " -f 2)
}
if [ $(filetype_is3) = "directory" ]; then
:
elif [ $(filetype_is3) = "ISO-8859" ]; then
rm "$c"
else
:
fi
done
Тогда почему в таком виде работает? Добился того, что function наконец нормально отрабатывает. Скрипт теперь работает так, как хотелось изначально.
Исходная версия Desmond_Hume, :
#!/bin/bash
for a in /home/user/Documents/Test\ Files/*;
do
function filetype_is1 {
echo $(file "$a" | cut -d ":" -f 2 | cut -d " " -f 2)
}
if [ $(filetype_is1) = "directory" ]; then
:
else
if [ $(filetype_is1) = "Unicode" ]; then
mv "$a" /home/user/Documents/Test\ Files/test/${a%}.converted
else
:
fi
fi
done
for b in /home/user/Documents/Test\ Files/*;
do
function filetype_is2 {
echo $(file "$b" | cut -d ":" -f 2 | cut -d " " -f 2)
}
#set +x
if [ $(filetype_is2) = "directory" ]; then
:
else
iconv -f WINDOWS-1251 -t UTF-8 "$b" -o "${b%}.converted" && mv "${b%}.converted" /home/user/Documents/Test\ Files/test/
fi
done
for c in /home/user/Documents/Test\ Files/*;
do
function filetype_is3 {
echo $(file "$c" | cut -d ":" -f 2 | cut -d " " -f 2)
}
if [ $(filetype_is3) = "directory" ]; then
:
elif [ $(filetype_is3) = "ISO-8859" ]; then
rm "$c"
else
:
fi
done
Тогда почему в таком виде работает? Добился того, что function наконец нормально отрабатывает. Скрипт теперь работает так, как хотелось изначально.