Чтобы получить дату и продолжительность в строках, содержащих duraci???n:
с помощьюsed
:
$ sed -n 's/^\[\([^ ]* [^ ]*\).*\(duraci???n:.*\)\]$/\1 | \2/p' logfile
23/08/2019 09:30:00 | duraci???n: 90
или
$ sed -n 's/^\[\([^ ]* [^ ]*\).*duraci???n: \(.*\)\]$/\1 | \2/p' logfile
23/08/2019 09:30:00 | 90
Пояснение к первой команде:
sed -n
быть тихим (только совпадающие части печатаются с флагом p
)'s/
заменитель ^\[
соответствует [
в начале строки \(
начать первую группу [^ ]* [^ ]*
соответствует дате и времени (любые символы без пробела, за которыми следует пробел, за которым следуют любые символы без пробела)\)
конец первой группы .*
соответствует любым символам \(
начать вторую группу duraci???n:.*
соответствует duraci???n:.*
, за которым следуют любые символы \)
конец второй группы \]$
соответствует ]
в конце строки /\1 | \2/
заменить на первую группу, |
и вторую группу p'
распечатать совпадения Достаточно простой команды diff
Linux. Ниже показана структура папок и подпапок, которые мы создали :
Он содержит две вложенные -папки, каждая из которых содержит два текстовых файла(file1.txt и file2.txt)для сравнения.
файл1.txt идентичен в папке1 и папке2
Используя следующее, будут сравниваться обе папки и все их файлы:
diff./folder1./folder2
Результат: (как и ожидалось):