SCM Breeze также поставляется с некоторыми сочетаниями клавиш оболочки для таких команд, как ls (или ll )и rm :https://github.com/scmbreeze/scm_breeze#ls-shortcuts
.
Предполагая, что ваш вывод всегда , представленный для трех предоставленных вами примеров, следующее должно работать:
rpm -Vqf <arguments> | awk '/(\/[^/ ]+)+$/ {printf("%s|%s\n",$NF,$1);next} /is not owned/{printf("%s|not owned\n",$2)}'
Этот вызов awk
делает следующее:
/
, за которым следует любое количество «не -косых черт» (, которые также не являются пробелами ), и этот шаблон, возможно, повторяется ), используйте printf
для печати последней записи (= разделенной пробелами -строки ), которая является путем к файлу, за которым следует |
, а затем первая запись. Затем пропустите выполнение до следующей строки ввода (, иначе вы можете получить несколько выходных данных для одной и той же строки ввода ). file <name> is not owned...
), за которым следует фиксированная строка «не принадлежит».