Как заменить весь абзац в файл?

Надеюсь, вы могли используйте perl

$ dt=`perl -e 'print substr(scalar localtime(time-86400),0,10)'`
$ echo "$dt"
Sat Dec  5
$ grep "$dt" <logfile>

В приведенном выше коде perl time возвращает текущее время в секундах с начала эпохи. Чтобы получить вчерашний день, вычитая 86400 секунд и скаляр печатает его в удобочитаемом формате. I Предположим, вам нужно просто вчера в формате DAY MON DT , чтобы вы могли найти все строки, соответствующие этому дню, независимо от времени. Чтобы просто получить необходимые поля, используйте substr для печати первых 10 символов и сохранение в переменной dt . Вы можете использовать эту переменную с grep .

0
03.12.2018, 21:32
1 ответ

Сценарии редактирования текста — это то, для чего ed:

ed file <<'SCRIPT'
/%%%23begin/+1,/%%%23end/-1d
/%%%23begin/a
 xxxxxxxx \\
 yyyyyyyy \\
 zzzzzzzzz \\
 tttttttt \\
.
wq
SCRIPT

Сначала удалите содержимое между (, но не включая маркеры ), затем добавьте желаемый текст после начального маркера. «Точка» завершает ввод. Сохранить и выйти.

3
28.01.2020, 02:23

Теги

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