LINUX.ORG.RU

История изменений

Исправление Desmond_Hume, (текущая версия) :

Не, не получилось. У меня скрипт лежит в другой папке, он начал перебирать файлы из той папки, почему-то))), проверять на file тип. А почему, если был переход cd?) Вот, блин … вот такой скрипт был:

#!/bin/bash

now=$(date -d "today" +"%Y%m%d%H%M")
initial_folder="$HOME/Documents/Test Files/"
test_folder="$HOME/Documents/Test Files/test"
originalFiles_folder="$HOME/Documents/Test Files/original files/"

cd $initial_folder
for a in *
	do
		filetype_is=$(file "$a" |  cut -d ":" -f 2 | cut -d " " -f 2)
		if [ $filetype_is = "directory" ]; then
			:
		elif [ $filetype_is = "Unicode" ]; then			
			mv "$a" "$test_folder${a%}.$now"
		elif [ $filetype_is = "ISO-8859" ]; then
			iconv -f WINDOWS-1251 -t UTF-8 -o "$test_folder/${a%}.$now.converted" "$a"
		else 
			:
		fi
	done

find "$initial_folder" -maxdepth 1 -type f  -exec mv {} "$originalFiles_folder" \;

А, всё, увидел, я кавычки не поставил! … сейчас ещё раз попробую

А вот теперь работает. Забыл кавычки и слэш:

#!/bin/bash

now=$(date -d "today" +"%Y%m%d%H%M")
initial_folder="$HOME/Documents/Test Files/"
test_folder="$HOME/Documents/Test Files/test"
originalFiles_folder="$HOME/Documents/Test Files/original files/"

cd "$initial_folder"

for a in *
	do
		filetype_is=$(file "$a" |  cut -d ":" -f 2 | cut -d " " -f 2)
		if [ $filetype_is = "directory" ]; then
			:
		elif [ $filetype_is = "Unicode" ]; then			
			mv "$a" "$test_folder/${a%}.$now"
		elif [ $filetype_is = "ISO-8859" ]; then
			iconv -f WINDOWS-1251 -t UTF-8 -o "$test_folder/${a%}.$now.converted" "$a"
		else 
			:
		fi
	done

find "$initial_folder" -maxdepth 1 -type f  -exec mv {} "$originalFiles_folder" \;

Исправление Desmond_Hume, :

Не, не получилось. У меня скрипт лежит в другой папке, он начал перебирать файлы из той папки, почему-то))), проверять на file тип. А почему, если был переход cd?) Вот, блин … вот такой скрипт был:

#!/bin/bash

now=$(date -d "today" +"%Y%m%d%H%M")
initial_folder="$HOME/Documents/Test Files/"
test_folder="$HOME/Documents/Test Files/test"
originalFiles_folder="$HOME/Documents/Test Files/original files/"

cd $initial_folder
for a in *
	do
		filetype_is=$(file "$a" |  cut -d ":" -f 2 | cut -d " " -f 2)
		if [ $filetype_is = "directory" ]; then
			:
		elif [ $filetype_is = "Unicode" ]; then			
			mv "$a" "$test_folder${a%}.$now"
		elif [ $filetype_is = "ISO-8859" ]; then
			iconv -f WINDOWS-1251 -t UTF-8 -o "$test_folder/${a%}.$now.converted" "$a"
		else 
			:
		fi
	done

find "$initial_folder" -maxdepth 1 -type f  -exec mv {} "$originalFiles_folder" \;

А, всё, увидел, я кавычки не поставил! … сейчас ещё раз попробую

А вот теперь работает. Забыл кавычки и слэш:

#!/bin/bash

now=$(date -d "today" +"%Y%m%d%H%M")
initial_folder="$HOME/Documents/Test Files/"
test_folder="$HOME/Documents/Test Files/test"
originalFiles_folder="$HOME/Documents/Test Files/original files/"

cd "$initial_folder"
for a in *
	do
		filetype_is=$(file "$a" |  cut -d ":" -f 2 | cut -d " " -f 2)
		if [ $filetype_is = "directory" ]; then
			:
		elif [ $filetype_is = "Unicode" ]; then			
			mv "$a" "$test_folder/${a%}.$now"
		elif [ $filetype_is = "ISO-8859" ]; then
			iconv -f WINDOWS-1251 -t UTF-8 -o "$test_folder/${a%}.$now.converted" "$a"
		else 
			:
		fi
	done

find "$initial_folder" -maxdepth 1 -type f  -exec mv {} "$originalFiles_folder" \;

Исправление Desmond_Hume, :

Не, не получилось. У меня скрипт лежит в другой папке, он начал перебирать файлы из той папки, почему-то))), проверять на file тип. А почему, если был переход cd?) Вот, блин … вот такой скрипт был:

#!/bin/bash

now=$(date -d "today" +"%Y%m%d%H%M")
initial_folder="$HOME/Documents/Test Files/"
test_folder="$HOME/Documents/Test Files/test"
originalFiles_folder="$HOME/Documents/Test Files/original files/"

cd $initial_folder
for a in *
	do
		filetype_is=$(file "$a" |  cut -d ":" -f 2 | cut -d " " -f 2)
		if [ $filetype_is = "directory" ]; then
			:
		elif [ $filetype_is = "Unicode" ]; then			
			mv "$a" "$test_folder${a%}.$now"
		elif [ $filetype_is = "ISO-8859" ]; then
			iconv -f WINDOWS-1251 -t UTF-8 -o "$test_folder/${a%}.$now.converted" "$a"
		else 
			:
		fi
	done

find "$initial_folder" -maxdepth 1 -type f  -exec mv {} "$originalFiles_folder" \;

А, всё, увидел, я кавычки не поставил! … сейчас ещё раз попробую

Исправление Desmond_Hume, :

Не, не получилось. У меня скрипт лежит в другой папке, он начал перебирать файлы из той папки, почему-то))), проверять на file тип. А почему, если был переход cd?) Вот, блин … вот такой скрипт был:

#!/bin/bash

now=$(date -d "today" +"%Y%m%d%H%M")
initial_folder="$HOME/Documents/Test Files/"
test_folder="$HOME/Documents/Test Files/test"
originalFiles_folder="$HOME/Documents/Test Files/original files/"

cd $initial_folder
for a in *
	do
		filetype_is=$(file "$a" |  cut -d ":" -f 2 | cut -d " " -f 2)
		if [ $filetype_is = "directory" ]; then
			:
		elif [ $filetype_is = "Unicode" ]; then			
			mv "$a" "$test_folder${a%}.$now"
		elif [ $filetype_is = "ISO-8859" ]; then
			iconv -f WINDOWS-1251 -t UTF-8 -o "$test_folder/${a%}.$now.converted" "$a"
		else 
			:
		fi
	done

find "$initial_folder" -maxdepth 1 -type f  -exec mv {} "$originalFiles_folder" \;

Исходная версия Desmond_Hume, :

Не, не получилось. У меня скрипт лежит в другой папке, он начала перебирать файлы из той папки, почему-то))). А почему, если был переход cd?) Вот, блин … вот такой скрипт был:

#!/bin/bash

now=$(date -d "today" +"%Y%m%d%H%M")
initial_folder="$HOME/Documents/Test Files/"
test_folder="$HOME/Documents/Test Files/test"
originalFiles_folder="$HOME/Documents/Test Files/original files/"

cd $initial_folder
for a in *
	do
		filetype_is=$(file "$a" |  cut -d ":" -f 2 | cut -d " " -f 2)
		if [ $filetype_is = "directory" ]; then
			:
		elif [ $filetype_is = "Unicode" ]; then			
			mv "$a" "$test_folder${a%}.$now"
		elif [ $filetype_is = "ISO-8859" ]; then
			iconv -f WINDOWS-1251 -t UTF-8 -o "$test_folder/${a%}.$now.converted" "$a"
		else 
			:
		fi
	done

find "$initial_folder" -maxdepth 1 -type f  -exec mv {} "$originalFiles_folder" \;