Bash: если условие проверить, существует ли фактическая дата в виде строки в файле?

Вы можете попробовать использовать FTP-клиент Filezilla. Он имеет возможность создавать собственные фильтры файлов из меню «Вид», чтобы показывать только определенные типы файлов.

1
задан 4 December 2010 в 18:01

9 ответов

Что-то вроде:

#!/bin/sh

DATE=$(date +%Y-%m)

if grep "$DATE" file >/dev/null; then
    echo yes
else
    echo no
fi

, где file - имя вашего файла, должно работать. Он в основном использует grep для поиска значения $DATE в файле и ветвей в зависимости от того, было ли это обнаружено или нет (коды выхода grep указывают на это, см. [F6] «СОСТОЯНИЕ ВЫХОДА» для получения дополнительной информации ). Вы можете использовать if grep …; then exit 0; fi для выхода из скрипта, если текст найден, чтобы получить нужное поведение.

8
ответ дан 26 May 2018 в 00:07

Что-то вроде:

#!/bin/sh DATE=$(date +%Y-%m) if grep "$DATE" file >/dev/null; then echo yes else echo no fi

, где file - имя вашего файла, должно работать. Он в основном использует grep для поиска значения $DATE в файле и ветвей в зависимости от того, было ли это обнаружено или нет (коды выхода grep указывают на это, см. [F6] «СОСТОЯНИЕ ВЫХОДА» для получения дополнительной информации ). Вы можете использовать if grep …; then exit 0; fi для выхода из скрипта, если текст найден, чтобы получить нужное поведение.

8
ответ дан 25 July 2018 в 22:48

Что-то вроде:

#!/bin/sh DATE=$(date +%Y-%m) if grep "$DATE" file >/dev/null; then echo yes else echo no fi

, где file - имя вашего файла, должно работать. Он в основном использует grep для поиска значения $DATE в файле и ветвей в зависимости от того, было ли это обнаружено или нет (коды выхода grep указывают на это, см. [F6] «СОСТОЯНИЕ ВЫХОДА» для получения дополнительной информации ). Вы можете использовать if grep …; then exit 0; fi для выхода из скрипта, если текст найден, чтобы получить нужное поведение.

8
ответ дан 27 July 2018 в 00:28

Что-то вроде:

#!/bin/sh DATE=$(date +%Y-%m) if grep "$DATE" file >/dev/null; then echo yes else echo no fi

, где file - имя вашего файла, должно работать. Он в основном использует grep для поиска значения $DATE в файле и ветвей в зависимости от того, было ли это обнаружено или нет (коды выхода grep указывают на это, см. [F6] «СОСТОЯНИЕ ВЫХОДА» для получения дополнительной информации ). Вы можете использовать if grep …; then exit 0; fi для выхода из скрипта, если текст найден, чтобы получить нужное поведение.

8
ответ дан 2 August 2018 в 04:11

Что-то вроде:

  #! / bin / sh DATE = $ (дата +% Y-% m), если grep "$ DATE" file & gt; / dev / null;  затем echo yes else echo no fi  

, где file - это имя вашего файла, должно работать. Он в основном использует grep для поиска значения $ DATE в файле и ветвей в зависимости от того, было ли это обнаружено или нет (коды выхода из grep указывают на это, см. man grep «EXIT STATUS» для получения дополнительной информации). Вы можете использовать , если grep ...; затем выйдите из 0; fi , чтобы выйти из сценария, если текст найден, чтобы получить нужное поведение.

8
ответ дан 4 August 2018 в 20:16

Что-то вроде:

  #! / bin / sh DATE = $ (дата +% Y-% m), если grep "$ DATE" file & gt; / dev / null;  затем echo yes else echo no fi  

, где file - это имя вашего файла, должно работать. Он в основном использует grep для поиска значения $ DATE в файле и ветвей в зависимости от того, было ли это обнаружено или нет (коды выхода из grep указывают на это, см. man grep «EXIT STATUS» для получения дополнительной информации). Вы можете использовать , если grep ...; затем выйдите из 0; fi , чтобы выйти из сценария, если текст найден, чтобы получить нужное поведение.

8
ответ дан 6 August 2018 в 04:17

Что-то вроде:

  #! / bin / sh DATE = $ (дата +% Y-% m), если grep "$ DATE" file & gt; / dev / null;  затем echo yes else echo no fi  

, где file - это имя вашего файла, должно работать. Он в основном использует grep для поиска значения $ DATE в файле и ветвей в зависимости от того, было ли это обнаружено или нет (коды выхода из grep указывают на это, см. man grep «EXIT STATUS» для получения дополнительной информации). Вы можете использовать , если grep ...; затем выйдите из 0; fi , чтобы выйти из сценария, если текст найден, чтобы получить нужное поведение.

8
ответ дан 7 August 2018 в 22:21

Что-то вроде:

  #! / bin / sh DATE = $ (дата +% Y-% m), если grep "$ DATE" file & gt; / dev / null;  затем echo yes else echo no fi  

, где file - это имя вашего файла, должно работать. Он в основном использует grep для поиска значения $ DATE в файле и ветвей в зависимости от того, было ли это обнаружено или нет (коды выхода из grep указывают на это, см. man grep «EXIT STATUS» для получения дополнительной информации). Вы можете использовать , если grep ...; затем выйдите из 0; fi , чтобы выйти из сценария, если текст найден, чтобы получить нужное поведение.

8
ответ дан 10 August 2018 в 10:31

Что-то вроде:

  #! / bin / sh DATE = $ (дата +% Y-% m), если grep "$ DATE" file & gt; / dev / null;  затем echo yes else echo no fi  

, где file - это имя вашего файла, должно работать. Он в основном использует grep для поиска значения $ DATE в файле и ветвей в зависимости от того, было ли это обнаружено или нет (коды выхода из grep указывают на это, см. man grep «EXIT STATUS» для получения дополнительной информации). Вы можете использовать , если grep ...; затем выйдите из 0; fi , чтобы выйти из сценария, если текст найден, чтобы получить нужное поведение.

8
ответ дан 13 August 2018 в 16:58

Другие вопросы по тегам:

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