шаблон соответствия имени файла

Alexey, эта проблема часто замечается в grub2. Я столкнулся с этим при просматривании форумов человечности, где это отмечено, как решено. Взгляните на там: http://ubuntuforums.org/showthread.php?t=1343362. Надо надеяться, это поможет Вам.

0
20.11.2013, 12:21
2 ответа

Это не работает, как Вы ожидаете.

  • В целом Вы не должны циклично выполняться по результатам ls потому что это перестало работать, если у Вас есть специальные символы в именах файлов (как пробелы, который является, вероятно, не случаем для Вашей проблемы);
  • цикл по существующим HDF-файлам и извлечению МЕТКА ВРЕМЕНИ от имен файлов:

    # assuming you do not have whitespaces etc. in filenames
    for i in $DATADIR/$DATE$DATE1*.L1A_LAC.$LOCATIONNAME.hdf ; do
      if [ ! -f "$i" ] ; then  #check if pattern could be expanded
           break ; 
      fi
      HDFFILE="$i"
      TIMESTAMP=$(basename "$i" ".L1A_LAC.$LOCATIONNAME.hdf")
      GEOFILE=$LOCATION_NAME-$TIMESTAMP.GEO
      LACFILE=$TIMESTAMP.L1B_LAC
      HKMFILE=$TIMESTAMP.L1B_HKM
      QKMFILE=$TIMESTAMP.L1B_QKM
      L2FILE=$TIMESTAMP.L2.hdf
    
      # process $i
      # [...]
    
0
28.01.2020, 05:01

Если я понимаю Вас правильно, необходимо удалить все после первой точки в имени файла для получения метки времени. Это расширение параметра должно помочь:

TIMESTAMP="${i%%.*}"
0
28.01.2020, 05:01

Теги

Похожие вопросы