Мар 252011
 

До работал скрипт по обработки текстовых файлов.

#!/usr/bin/bash
cd /mnt/share/tmp/ЗП/
DT=`date +"%Y-%m-%d"`
DIR='/mnt/do_obmen/ПАВЛОВСК/ЗП'
TXT='/mnt/share/tmp/ЗП/*.txt'
#Поиск файлов с разширением txt.
for f in *.txt;
do
#Удаления пробелов из файлов, пробелы остаются только в ФИО, и замена в сумме запятую на точку .
sed -i -e 's/\ \{1,\},/,/g; s/\([0-9]\{1,\}\),\([0-9]\{1\}\)/\1.\2/' $f;
#Перекодирование в ДОС.
enca -x cp866 $f;
done;
#Проверяем на файлы txt
if [ -r $TXT ]; then
#Проверка на создания диреткории с сегоднешней датой.
if [ ! -r $DIR/$DT ]; then
mkdir $DIR/$DT
fi
fi
#Перемещение.
mv /mnt/share/tmp/ЗП/*.txt $DIR/$DT
rm -rf /mnt/share/tmp/ЗП/*.txt-e
exit 0

Вот что в итоге мы получим.
до

ххххххххххххххх00051  ,Иванов Геннадий Митрофанович  ,5402,65
ххххххххххххххх00937  ,Иванов Игорь Викторович  ,3967,78

После

ххххххххххххххх00051,Иванов Геннадий Митрофанович,5402.65
ххххххххххххххх00937,Иванов Игорь Викторович,3967.78

скрипт до работал…после обновления bash’a, нынешний скрипт перестал работать.

Новый скрипт.

#!/bin/bash
cd /mnt/share/tmp/ЗП/
DT=`date +"%Y-%m-%d"`
DIR='/mnt/do_obmen/ПАВЛОВСК/ЗП'
TXT='/mnt/share/tmp/ЗП/*.txt'
for f in *.txt;
do
sed -i -e 's/\ \{1,\},/,/g; s/\([0-9]\{1,\}\),\([0-9]\{1\}\)/\1.\2/' $f;
enca -x cp866 $f;
done;
if [ ! '$TXT' ]; then
  $(ls '$DIR/$DT')
else
  /bin/mkdir $DIR/$DT
fi
mv /mnt/share/tmp/ЗП/*.txt $DIR/$DT
rm -rf /mnt/share/tmp/ЗП/*.txt-e
exit 0

 Leave a Reply

(required)

(required)

38 Запросов к базе. 0,380 Генерации страницы, 37MB Использование памяти.
Вы зашли с IP: 54.198.210.67