vim
распознает определенные типы файлов журнала и раскрасит их, как только вы включите подсветку синтаксиса. Например, вот gvim показывает / var / log / syslog:
Вы можете изучить vim с помощью команды vimtutor
примерно за полчаса. Вы, конечно, не освоите его, и он даже не будет разбираться в подсветке синтаксиса, но вы узнаете, как перемещаться по файлу, и получите представление о его возможностях.
Включение подсветки синтаксиса должно быть таким же простым, как : синтаксис на
, хотя вам, возможно, придется указать синтаксис. В графическом интерфейсе пользователя (gvim, macvim и т. Д.) Будет строка меню с элементом Syntax
. Скажите «Показать типы файлов в меню» (если необходимо), а затем найдите соответствующий формат./ var / log / syslog использует формат «сообщений» (вы также можете сделать это с помощью : set syn = messages
).
Вот моя функция HTMLize
, которая выводит эти цвета как HTML, а также строки для сопоставления их с F7 . Просто добавьте их в свой ~ / .vimrc
:
function! HTMLize(...)
let scheme = "default"
if (a:0 > 0)
let scheme = a:1
endif
let g:html_use_css = 0
let oldcolorscheme = g:colors_name
let oldbg = &background
execute "colorscheme " . scheme
set background=light
TOhtml
%s/[\r\n]\+//g
%s/\(color="\|text="\|style="background-color: \)#af0000/\1#b00/ige
%s/\(color="\|text="\|style="background-color: \)#a52a2a/\1#a22/ige
%s/\(color="\|text="\|style="background-color: \)#af5f00/\1#a60/ige
%s/\(color="\|text="\|style="background-color: \)#d7afaf/\1#daa/ige
%s/\(color="\|text="\|style="background-color: \)#870087/\1#808/ige
%s/\(color="\|text="\|style="background-color: \)#005faf/\1#05b/ige
%s/\(color="\|text="\|style="background-color: \)#005f87/\1#068/ige
%s/\(color="\|text="\|style="background-color: \)#\([0-9a-f]\)\2\([0-9a-f]\)\3\([0-9a-f]\)\4/\1#\2\3\4/ige
%s/\(color="\|text="\|style="background-color: \)#\([0-9a-f]\)\([0-9a-f]\)\([0-9a-f]\)\3\([0-9a-f]\)\3/\1#\2\4\5/ige
%s/\([\r\n]*/\1\r\r\r\r/
%s/<\/font>\([\r\n]*<.body>\)/<\/pre>\r\r\r\r\1/
%s/$//
execute "colorscheme " . oldcolorscheme
execute 'set background = "' . oldbg . '"'
endfunction
noremap :call HTMLize("lucius")
inoremap :call HTMLize("lucius")
На самом деле это просто очищенная версия TOhtml
, которая дополнительно изменяет вашу цветовую схему, чтобы сделать ее более разборчивой (я использую темный фон с нестандартной цветовой схемой lucius , который, как и популярная солнечная цветовая схема , поддерживает как темный, так и светлый фон).
Вариант без -xargs
, использующийfind
:
find. -maxdepth 1 -type f -name '*.ovpn' \
-exec sed -i 's/auth-user-pass/auth-user-pass pass.txt/g' {} +
Это приведет к выполнению вашей команды sed
для как можно большего количества имен файлов, (только для обычных файлов, без совпадающих имен каталогов и т. д. ), с именами файлов, соответствующими заданному шаблону из текущего каталога (только ). Это также справится с потенциально странными именами файлов (, пробелами, символами новой строки и т. д.)
Опция/предикат -maxdepth
не является стандартной, но часто реализуется.
Да, xargs
— правильный путь.
Простой случай
echo *.ovpn | xargs sed -i 's/auth-user-pass/auth-user-pass pass.txt/g'
но это работает только для файлов, имена которых не содержат пробелов. Безопасный путь
printf '%s\0' *.ovpn | xargs -0 sed...
Если вы не хотите запускать весь конвейер как root
, укажите sudo
перед xargs
или перед sed
.