Вставил костылик в виде grep. В конце выводится пустая строка. Не знаю откуда она берется, но как это нее избавиться?
folder1="/home/motion/CamRecords/ipcam01" folder2="/home/motion/CamRecords/ipcam02" cd $folder1 ls -1 | while read file do # 2012-02-28_18-08-40-04-event-04.jpg # 2012-02-28_18-09-45-event-05.avi folderName=$(echo $file | grep -Pe '^[0-9]{4}-[0-9]{2}-[0-9]{2}' | sed -re 's/^([0-9]{4}-[0-9]{2}-[0-9]{2})_.+/\1/') if [ "$folderName_old" != "$folderName" ] then echo $folderName fi folderName_old=$folderName done 28 февраля 2012 г. 19:27 пользователь Тарас Перебейносов < taras.perebeyno...@gmail.com> написал: > Доброго времени суток! > > Помогите, пожалуйста, разобраться с регулярными выражениями в sed. > Я пытаюсь написать скрипт, который будет ежедневно складывать в папочки по > датам файлы: > > $ *ls -1 /home/motion/CamRecords/ipcam01|head* > 01-20120207104003.avi > 01-20120207104004-04.jpg > 01-2012-02-07_12-25-26.avi > 01-20120207122620-03.jpg > 02-2012-02-07_12-29-38.avi > 02-20120207122939-03.jpg > 03-2012-02-07_12-31-13.avi > 03-20120207123115-00.jpg > 04-2012-02-07_12-32-30.avi > 04-20120207123232-00.jpg > > $ *ls -1 /home/motion/CamRecords/ipcam01|tail* > 2012-02-28_19-05-55-event-24.avi > 2012-02-28_19-06-22-03-event-24.jpg > 2012-02-28_19-09-03-event-25.avi > 2012-02-28_19-09-16-02-event-25.jpg > 2012-02-28_19-12-26-event-26.avi > 2012-02-28_19-13-32-00-event-26.jpg > 2012-02-28_19-15-48-event-27.avi > 2012-02-28_19-15-50-00-event-27.jpg > 2012-02-28_19-18-45-event-28.avi > Thumbs.db > > Вот набросок разбора имен: > > #!/bin/bash > > folder1="/home/motion/CamRecords/ipcam01" > folder2="/home/motion/CamRecords/ipcam02" > > cd $folder1 > ls -1 | while read file > do > # 2012-02-28_18-08-40-04-event-04.jpg > # 2012-02-28_18-09-45-event-05.avi > folderName=$(echo $file|*sed -re > 's/([0-9]{4}-[0-9]{2}-[0-9]{2})_.+/\1/'*) > if [ "$folderName_old" != "$folderName" ] > then > echo $folderName > fi > folderName_old=$folderName > done > > Я ожидал, что скрипт выведет мне имена для папок, которые нужно создать. > Но выводится также и мусор (то, что не подходит под шаблон <YYYY-MM-DD>). > > $ *./folderOrder.sh |head* > 01-20120207104003.avi > 01-20120207104004-04.jpg > 01-2012-02-07 > 01-20120207122620-03.jpg > 02-2012-02-07 > 02-20120207122939-03.jpg > 03-2012-02-07 > 03-20120207123115-00.jpg > 04-2012-02-07 > 04-20120207123232-00.jpg > > $ *./folderOrder.sh |tail* > 2012-02-20 > 2012-02-21 > 2012-02-22 > 2012-02-23 > 2012-02-24 > 2012-02-25 > 2012-02-26 > 2012-02-27 > 2012-02-28 > Thumbs.db > > Как убрать из вывода строки, которые не совпадают с шаблоном <YYYY-MM-DD> ? >
-- ubuntu-ru mailing list ubuntu-ru@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru