The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
поиск выржения в названиях файлов, !*! konsai, 16-Фев-14, 09:33  [смотреть все]
Господа, прошу помощи знатоков.
Есть скрипт поиска в названиях файлов выражения, получаемого из БД

#!/bin/bash
DIR=/home/konsai/test
CSHIFT=`mysql -u konsai test -N -e "select max(shiftno) from shiftslog"`
if [ -e $DIR/$CSHIFT ];
  then echo "есть такой файл" $CSHIFT
else
  echo "Нет такого файла"
fi

запрос mysql возвращает 65180
директория содержит файлы shift_65180_16.02.14.tgz, shift_65170_15.02.14.tgz ну и так далее
В общем - выражение из базы содержится в названии файла.
просто файл 65180 если создать - скрипт работает правильно. файл находит. если его удалить - не находит.
Спасибо за помощь!

  • поиск выржения в названиях файлов, !*! михалыч, 11:54 , 16-Фев-14 (1) +1
    > запрос mysql возвращает 65180
    > директория содержит файлы shift_65180_16.02.14.tgz, shift_65170_15.02.14.tgz ну и так
    > далее
    > В общем - выражение из базы содержится в названии файла.
    > просто файл 65180 если создать - скрипт работает правильно. файл находит. если
    > его удалить - не находит.
    > Спасибо за помощь!

    а так

    DIR=/home/konsai/test
    CSHIFT=`mysql -u konsai test -N -e "select max(shiftno) from shiftslog"`
    ls $DIR | grep -q $CSHIFT
    if [ $? -eq 0 ];
      then echo "есть такой файл" $CSHIFT
    else
      echo "Нет такого файла"
    fi

    c find'ом у меня так вышло

    DIR=/home/konsai/test
    CSHIFT=`mysql -u konsai test -N -e "select max(shiftno) from shiftslog"`
    if [ -n "$(find $DIR -name "*$CSHIFT*")" ];
      then echo "есть такой файл" $CSHIFT
    else
      echo "Нет такого файла"
    fi




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

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