Заменить 3-е поле (, где «поле» — это «что угодно, кроме вертикальных черт, ноль или более раз, за которыми следует вертикальная черта» )ничем:
awk '{$0=gensub(/[^|]*\|/, "", 3); print $0}' input
Очевидно, вы хотите удалить "test5232.lop" в любом месте строки:
sed -i 's/|test5232\.lop//' input
(хотя любое решение, включая sed -i
, создает временный файл)
Поскольку возможности редактирования строки драйвера терминала весьма примитивны и не включают в себя такие вещи, как перемещение точки вставки влево и вправо.
Что они включают в себя:
VERASE
/ erase
, BackSpace)VWERASE
/ werase
, управление -W)VKILL
/ kill
, Управление -U)Они также не могут связать несколько последовательностей клавиш (, так как escape-последовательности, отправляемые левой -и правой -клавишами со стрелками, обычно )относятся к его специальным действиям.
И, конечно же, VERASE
и VWERASE
не поддерживают Unicode -; В Linux есть формальный IUTF8
флаг (, который работает с простыми данными и лучше, чем ничего ), но он не знает об нулевых -модификаторах ширины, метках направления и т. д.
Дополнительные сведения см. на справочных страницах stty(1)
и termios(3)
.