LINUX.ORG.RU

История изменений

Исправление kostik87, (текущая версия) :

В лоб, не факт, что красиво.

Это если встречается всего один раз

#!/bin/sh
FILE="Путь к файлу"
START=`grep -n "##START $USER" "$FILE" | cut -f1 -d:`
END=`grep -n "##END $USER" "$FILE" | cut -f1 -d:`
sed -n $START,$ENDp  $FILE

Если несколько то нужно добавить цикл.

Собственно тем же sed срезать в цикле по две строки и получать верхнюю и нижнюю границу каждого блока.

Исправление kostik87, :

В лоб, не факт, что красиво.

Это если встречается всего один раз

#!/bin/sh
FILE="Путь к файлу"
START=`grep -n "##START $USER" "$FILE" | cut -f1 -d:`
END=`grep -n "##END $USER" "$FILE" | cut -f1 -d:`
sed -n $START,$ENDp  $FILE

Если несколько то нужно добавить цикл.

Исходная версия kostik87, :

В лоб, не факт, что красиво.

Это если встречается всего один раз

#!/bin/sh
FILE="Путь к файлу"
START=`grep -n "##START $USER" "$FILE" | cut -f1 -d:`
END=`grep -n "##END $USER" "$FILE" | cut -f1 -d:`
head -n $END "$FILE" | tail -n $(($END-$START+1))

Если несколько то нужно добавить цикл.