Я устанавливаю скрипт, который принимает некоторые пользовательские данные с помощью команды read
.Используя эти данные, мне нужно найти диапазон файлов, а затем выполнить некоторую фильтрацию.Вот как это,
Enter fromtime
read fromtime
Enter totime
read totime
Enter the ID
read id
Сначала я SSH на сервер, а затем там у меня есть каталог, Записи с путем cd home/report/records
здесь, у меня есть:
REC_201901020345.gz
(ггггммдччмм) REC_201901120405.gz
REC_201903142543.gz
и так далее.
Эти файлы содержат данные вместе с $id
.
Когда пользователь вводит $fromtime
и $totime
, он будет иметь формат ггггммддч.Здесь мне нужно перейти к этому диапазону файлов, а затем grep
для $id
и отображения.Например:
Если $fromtime
равно 2019010103
и $totime
равно 2019031425
.Мне нужно перейти только к определенному диапазону файлов, который является REC_201901020345.gz
, REC_201901120405.gz
, REC_201903142543.gz
и выполнить grep
, чтобы найти id
, введенный пользователем.
Я пыталсяэто использует условие if
, но, похоже, оно не работает.Я новичок в написании таких сценариев.Могут быть ошибки, когда я все здесь описал.Извините за то же самое.
source config.sh
Enter fromtime
read fromtime
Enter totime
read totime
Enter the ID
read id
ssh $user@$ip
cd /home/report/records
# <-- need to know what to add here as described here, to navigate to the
# <-- specific range $fromtime-$totime. Then the command to find id will be
zfgrep $id *.gz
Результатом должны быть только данные с id
в указанном диапазоне .gz
файлов.