The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"bash сравнение имен файлов"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"bash сравнение имен файлов" 
Сообщение от jou emailИскать по авторуВ закладки(ok) on 01-Июн-05, 13:40  (MSK)
как сравнить имена файлов?
т.е. ежели есть файл "дата.рпм.гуд" то грохнуть "дата.рпм" к примеру?

идеи есть, но все какие-то невнятные. просьба ткнуть где копать?

  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "bash сравнение имен файлов" 
Сообщение от Brainbug Искать по авторуВ закладки(ok) on 01-Июн-05, 14:44  (MSK)
>как сравнить имена файлов?
>т.е. ежели есть файл "дата.рпм.гуд" то грохнуть "дата.рпм" к примеру?
>
>идеи есть, но все какие-то невнятные. просьба ткнуть где копать?

[test@test shell]$ cat 4.sh
#!/bin/sh

file="data.rpm.orig"
if [ -s $file -a -f $file ];then
        echo "rm -f data.rpm"
fi
[test@test shell]$ ./4.sh
[test@test shell]$ touch data.rpm.orig
[test@test shell]$ ./4.sh
[test@test shell]$ ls
1  1.sh  2.sh  3.sh  4.sh  data.rpm.orig  test test
[test@test shell]$ echo "test" >> data.rpm.orig
[test@test shell]$ ./4.sh
rm -f data.rpm
[test@test shell]$


P.S. man test

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "bash сравнение имен файлов" 
Сообщение от jou emailИскать по авторуВ закладки(??) on 01-Июн-05, 15:15  (MSK)
>[test@test shell]$ cat 4.sh
>#!/bin/sh
>
>file="data.rpm.orig"
>if [ -s $file -a -f $file ];then
>        echo "rm -f data.rpm"
>
>fi
>[test@test shell]$ ./4.sh
>[test@test shell]$ touch data.rpm.orig
>[test@test shell]$ ./4.sh
>[test@test shell]$ ls
>1  1.sh  2.sh  3.sh  4.sh  data.rpm.orig  
>test test
>[test@test shell]$ echo "test" >> data.rpm.orig
>[test@test shell]$ ./4.sh
>rm -f data.rpm
>[test@test shell]$
>
>
>P.S. man test

вы меня немного не так поняли :) дата = число в формате ddmmyyyy
необходимо при появлении файлов-флагов формата "ddmmyyyy.rpm.good" удалять соотвествующие "ddmmyyyy.rpm"

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "bash сравнение имен файлов" 
Сообщение от Brainbug Искать по авторуВ закладки(ok) on 01-Июн-05, 15:59  (MSK)
>>[test@test shell]$ cat 4.sh
>>#!/bin/sh
>>
>>file="data.rpm.orig"
>>if [ -s $file -a -f $file ];then
>>        echo "rm -f data.rpm"
>>
>>fi
>>[test@test shell]$ ./4.sh
>>[test@test shell]$ touch data.rpm.orig
>>[test@test shell]$ ./4.sh
>>[test@test shell]$ ls
>>1  1.sh  2.sh  3.sh  4.sh  data.rpm.orig  
>>test test
>>[test@test shell]$ echo "test" >> data.rpm.orig
>>[test@test shell]$ ./4.sh
>>rm -f data.rpm
>>[test@test shell]$
>>
>>
>>P.S. man test
>
>вы меня немного не так поняли :) дата = число в формате
>ddmmyyyy
>необходимо при появлении файлов-флагов формата "ddmmyyyy.rpm.good" удалять соотвествующие "ddmmyyyy.rpm"

[test@test shell]$ cat 4.sh
#!/bin/sh

file=`date '+%d%m%Y'`".rpm"
gfile=`date '+%d%m%Y'`".rpm.good"
echo $file
echo $gfile
if [ -s $gfile -a -f $gfile ];then
        echo "rm -f $file"
fi
[test@test shell]$ ./4.sh
01062005.rpm
01062005.rpm.good
rm -f 01062005.rpm
[test@test shell]$ ls 01*
01062005.rpm  01062005.rpm.good
[test@test shell]$ ls -l 01*
-rw-rw-r--    1 test    test           0 Jun  1 14:58 01062005.rpm
-rw-rw-r--    1 test    test           5 Jun  1 14:58 01062005.rpm.good
[test@test shell]$

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "bash сравнение имен файлов" 
Сообщение от jou emailИскать по авторуВ закладки(??) on 01-Июн-05, 18:15  (MSK)
>[test@test shell]$ cat 4.sh
>#!/bin/sh
>
>file=`date '+%d%m%Y'`".rpm"
>gfile=`date '+%d%m%Y'`".rpm.good"
>echo $file
>echo $gfile
>if [ -s $gfile -a -f $gfile ];then
>        echo "rm -f $file"
>
>fi
>[test@test shell]$ ./4.sh
>01062005.rpm
>01062005.rpm.good
>rm -f 01062005.rpm
>[test@test shell]$ ls 01*
>01062005.rpm  01062005.rpm.good
>[test@test shell]$ ls -l 01*
>-rw-rw-r--    1 test    test  
>        0 Jun  
>1 14:58 01062005.rpm
>-rw-rw-r--    1 test    test  
>        5 Jun  
>1 14:58 01062005.rpm.good
>[test@test shell]$


все вышепприведенное работает только для текущей даты, файлы могут лежать недельной давности и т.д.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "bash сравнение имен файлов" 
Сообщение от jou emailИскать по авторуВ закладки(??) on 01-Июн-05, 23:09  (MSK)
>все вышепприведенное работает только для текущей даты, файлы могут лежать недельной давности
>и т.д.

все решилось гораздо проще:

for f in *.good
do
    rm -f `basename $f .good`
    rm -f $f
done

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ]
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру