Проверьте, существует ли массив файлов в каталоге, и проверьте наличие шаблона в имени файлов в скрипте bash. - PullRequest
0 голосов
/ 09 октября 2019

У меня есть 4 файла в определенном каталоге, скажем

GateTime_20190702.csv

RemoteTime_20190702.csv

Employee_20190702.csv

Random_20190702.csv.

Я хочу проверить, существуют ли все файлы в этой конкретной папке. Если все они существуют, мне нужно проверить, начинаются ли имена файлов со строки перед '_'. а также дату, для которой были сгенерированы файлы, например «20190702».

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

if [[ -f GateTime_20190702.csv && -f RemoteTime_20190702.csv ]]; затем

Я хочу проверить, присутствуют ли все 4 файла в каталоге или нет, и если да, то шаблон должен соответствовать желаемомушаблон.

1 Ответ

1 голос
/ 09 октября 2019

С bash:

postfix="20190702"
prefixes="GateTime RemoteTime Employee Random"

for prefix in $prefixes; do
  name="${prefix}_${postfix}.csv"

  # Check if the file does not exist
  if [[ ! -e "$name" ]]; then
    echo "Error"
    break
  fi
done

Это ничего не выдаст, если все четыре файла с правильным именем существуют в текущем каталоге, и выведет Error, если хотя бы один файл не существует с правильным именем.

...