Учитывая ваш исходный тег CentOS, я предполагаю, что у вас есть /etc/profile.d/vim.sh
файл, который устанавливает псевдоним:
alias vi >/dev/null 2>&1 || alias vi=vim
Если вы хотите запускать vi
при вводе vim
, я предлагаю добавить к вашему собственному~/.bashrc
:
unalias vi
alias vim=vi
Просто небольшое изменение в вашей команде sed
sed -n '/2020\/07\/05 21:10:28\.010/,/2020\/07\/05 21:10:30\.668/{;p};/2020\/07\/05 21:10:30\.668/,/\*\*\*/{;p}'
Вашей команде просто нужно было сбежать. поставив перед ним обратную косую черту. т. е. 05.07.2020 21 :10 :28\.010
Это несколько многословно, потому что:
.. Он предоставляет переменные соответствующим образом для того, чтобы сделать их аргументами для скрипта, предполагая, что это не единичный -промах.
... Читается и адаптируется.
.. Он показывает весь блок для записи журнала, от метки времени до следующей строки, состоящей из всех звездочек.
#! /bin/bash
Low='2020/07/05 21:10:28'
End='2020/07/05 21:10:43'
AWK='
BEGIN {
reTS = "[[]20../../....:..:..[.]...[]]";
reStop = "^[*]+$";
}
function Range (ts) {
return ((ts < Low || ts > End) ? "N" : "Y");
}
match ($0, reTS) { Block = Range( substr ($0, RSTART+1, RLENGTH-6)); }
Block == "Y" { print; }
$0 ~ reStop { Block = "N"; }
'
awk -v Low="${Low}" -v End="${End}" "${AWK}" myLog.txt