Найти файл с временным диапазоном fileA и fileB

Другое решение (своеобразное решение voodoo), использующее драйверы с открытым исходным кодом, должно выполнить следующую команду:

gksudo gedit /etc/modprobe.d/radeon-kms.conf

и в этот пустой файл добавить следующий

options radeon modeset=0

Save, Exit, Reboot и ваша проблема, вероятно, будет решена

источник: http://niccolofavari.com/ubuntu-10.04-lucid-issues-with-external-monitor-and-ati- radeon-card

0
задан 17 February 2018 в 15:34

3 ответа

Предполагая, что у вас есть такой ввод:

time="time:2015-02-15-18:22:02"

Затем вы можете преобразовать его в временную метку Unix (секунды с эпохи) и сохранить ее в переменной timestamp с помощью:

[ f2]

Здесь я использую sed, чтобы избавиться от префикса time: и изменить двоеточие между датой и временем на T (ISO 8601), date затем используется для преобразования временной метки в секунды с epoch.

В зависимости от того, что представляет эта временная метка, вы можете использовать find для вывода имени файла журнала:

, если имя файла уже содержит метку времени, вы можете использовать snort.log.$time напрямую если это время модификации файла:
find . -type f -name "*snort.log.*" -newermt @$(($time-1)) ! -newermt @$time
Здесь будет найден каждый файл журнала с временем модификации между time - 1 секундой и time. если вам нужно найти самый старый файл журнала после указанной отметки времени, вы можете использовать sort и head:
find . -type f -name "*snort.log.*" -newermt @$(($time-1)) -print0 | sort -z | head -zn1
, если вам нужно найти файл журнала, который (каким-либо образом) содержит заданную метку времени, используйте [ f18]:
grep -l $time *
Если у вас много длинных файлов журналов, вы можете объединить это с find и / или parallel, чтобы сделать это быстрее, например:
find . -type f -name "*snort.log.*" -newermt @$(($time-1)) -exec grep -l $time {} +
1
ответ дан 22 May 2018 в 13:05

Предполагая, что у вас есть такой ввод:

time="time:2015-02-15-18:22:02"

Затем вы можете преобразовать его в временную метку Unix (секунды с эпохи) и сохранить ее в переменной timestamp с помощью:

time=$(date -d$(<<<"$time" sed 's/time:\(.*\)-/\1T/') +%s)

Здесь я использую sed, чтобы избавиться от префикса time: и изменить двоеточие между датой и временем на T (ISO 8601), date затем используется для преобразования временной метки в секунды с epoch.

В зависимости от того, что представляет эта временная метка, вы можете использовать find для вывода имени файла журнала:

, если имя файла уже содержит метку времени, вы можете использовать snort.log.$time напрямую если это время модификации файла: find . -type f -name "*snort.log.*" -newermt @$(($time-1)) ! -newermt @$time Здесь будет найден каждый файл журнала с временем модификации между time - 1 секундой и time. если вам нужно найти самый старый файл журнала после указанной отметки времени, вы можете использовать sort и head: find . -type f -name "*snort.log.*" -newermt @$(($time-1)) -print0 | sort -z | head -zn1 , если вам нужно найти файл журнала, который (каким-либо образом) содержит заданную метку времени, используйте grep: grep -l $time * Если у вас много длинных файлов журналов, вы можете объединить это с find и / или parallel, чтобы сделать это быстрее, например: find . -type f -name "*snort.log.*" -newermt @$(($time-1)) -exec grep -l $time {} +
1
ответ дан 17 July 2018 в 20:45

Предполагая, что у вас есть такой ввод:

time="time:2015-02-15-18:22:02"

Затем вы можете преобразовать его в временную метку Unix (секунды с эпохи) и сохранить ее в переменной timestamp с помощью:

time=$(date -d$(<<<"$time" sed 's/time:\(.*\)-/\1T/') +%s)

Здесь я использую sed, чтобы избавиться от префикса time: и изменить двоеточие между датой и временем на T (ISO 8601), date затем используется для преобразования временной метки в секунды с epoch.

В зависимости от того, что представляет эта временная метка, вы можете использовать find для вывода имени файла журнала:

, если имя файла уже содержит метку времени, вы можете использовать snort.log.$time напрямую если это время модификации файла: find . -type f -name "*snort.log.*" -newermt @$(($time-1)) ! -newermt @$time Здесь будет найден каждый файл журнала с временем модификации между time - 1 секундой и time. если вам нужно найти самый старый файл журнала после указанной отметки времени, вы можете использовать sort и head: find . -type f -name "*snort.log.*" -newermt @$(($time-1)) -print0 | sort -z | head -zn1 , если вам нужно найти файл журнала, который (каким-либо образом) содержит заданную метку времени, используйте grep: grep -l $time * Если у вас много длинных файлов журналов, вы можете объединить это с find и / или parallel, чтобы сделать это быстрее, например: find . -type f -name "*snort.log.*" -newermt @$(($time-1)) -exec grep -l $time {} +
1
ответ дан 23 July 2018 в 21:25

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

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