Ответ — удалить let g:solarized_termcolors=256
, так как это сообщит vim о необходимости использовать ухудшенные цвета (, см.https://github.com/altercation/vim-colors-solarized#important-note-for-terminal-users)
для печати обеих строк (строки выше и найденной строки)
grep -B1 clientside file
где
для печати только строки перед (не значит, что у вас есть только одна строка, даже если clientside
встречается дважды)
grep -B1 clientside file | head -1
Во всех случаях используйте инвертированный grep для удаления совпадающих строк и grep
групповых разделителей:
grep -B1 'clientside' file | grep -v '^--$\|clientside'
Использованиеawk
:
$ awk '/clientside/ {if (a && a !~ /clientside/) print a} {a=$0}' file
/Partition/SSL_profile
Использованиеsed
:
$ sed -n -e '/clientside/ {x;p;d;}' -e x file
/Partition/SSL_profile
или POSIXly:
$ sed -n '/clientside/{g
1!p
}
h
' file
/Partition/SSL_profile
Использованиеawk
:
Будет напечатана предыдущая запись, в которой совпало clientside
. Вторая команда печатает номер записи и предыдущую запись.
awk '/clientside/{ print prev;};{prev=$0}' file
awk '/clientside/{ printf "%s: %s\n", (NR-1), prev};{prev=$0}' file
Они будут печатать предыдущую запись, а также текущую входную запись($0
).
awk '/clientside/{ print prev; print $0};{prev=$0}' file
awk '/clientside/{ printf "%s: %s\n%s: %s\n", (NR-1), prev,NR,$0};{prev=$0}' file
При совпадении clientside
печатается предыдущая запись, сохраненная в переменной prev
, а затем печатается текущая входная запись ($0
).
Но эта команда напечатает повторяющиеся строки.
$ cat file
/Partition/SSL_profile
context1 clientside
context2 clientside
context3 clientside
Здесь приведенная выше команда дает следующий результат:
awk '/clientside/{ print prev; print $0};{prev=$0}' file
/Partition/SSL_profile
context1 clientside
context1 clientside
context2 clientside
context2 clientside
context3 clientside
Поэтому команду следует изменить на это, чтобы избежать дублирования строк.
awk '/clientside/{ if(line!=prev_lineno) print prev; print $0; line=NR};
{prev=$0;prev_lineno=NR}' file