Как у меня есть sed, только выполняют действия с первым соответствием?

[112450] Этот метод воссоздает ваш tar-архив и добавляет готовую часть к существующему файлу. Это может быть полезно при резервном копировании через сетевое соединение. Скорее всего, вы получите поврежденный архив, если какие-либо данные в вашем INFILES изменились. Обязательно протестируйте ваш архив после завершения.

Измените INFILES и OUTFILE на правильные имена в следующей строке.

  1. Объяснение:

    SIZE="$(wc -c < $OUTFILE)"[112898] # Получите текущий размер архива.
  2. tar -cz -в-выход "$INFILES". |[112900] # Начать создание архива и отправить вывод команде [112901]tail[112902].

    • tail -c +$(($SIZE+1)) >>[112904] # Отключите данные до $SIZE+1 и возобновите оставшийся архив $OUTFILE.[112461].
2
08.02.2015, 05:29
2 ответа
sed '/From/,$!d;/./!q' <infile

... Приведенное выше выражение инструктирует SED D D Элете из вывода всех линий, которые делают ! Не падают в диапазоне / из / через последнюю строку $ . Каждый раз это D D D Элементы линейки, которую она перестает читать скрипт и запускается с помощью следующей входной линии сверху - и поэтому она не читает следующую команду.

Итак, команда ///! Q MOMENT SED q q Уситает ввод на первую строку после первого вхождения из На его входе, который делает ! не содержит хотя бы одного . характер.

2
27.01.2020, 22:13
sed -n '/From/!p;/From/{s/From/foo/;p;: rest; n; p; b rest;}' file
0
27.01.2020, 22:13

Теги

Похожие вопросы