Как предложил Кусалананда, сохранение всего файла в памяти:
awk -F'|' '
{
key = $5 FS $6 FS $7
count[key]++
data[key] = data[key] (count[key] == 1 ? "" : ORS) $0
}
END { for (key in count) if (count[key] > 1) print data[key] }
' DemoDATA.txt
или
perl -F'\|' -ane '
$key = join "|", @F[4..6];
push @{$data{$key}}, $_;
} END {
print @{$data{$_}} for grep {@{$data{$_}} > 1} keys %data;
' DemoDATA.txt
Нет отдельной команды Vim, но вы можете комбинироватьzs
сzH
:Прокрутить, чтобы расположить курсор в левой части экрана, а затем прокрутить на половину ширины экрана вправо.
У меня есть это отображение в моем~/.vimrc
:
" Horizontally center cursor position.
" Does not move the cursor itself (except for 'sidescrolloff' at the window
" border).
nnoremap <silent> z. :<C-u>normal! zszH<CR>