Usando awk :
Use awk no modo de parágrafo:
awk -v RS= '/DISK_info_start\:\/usr\n/' quota.txt
Se você combinar vários parágrafos, adicione -v ORS="\n\n" , caso contrário, awk removerá linhas em branco entre as correspondências.
Observe que você precisa de \n em vez de $ para encontrar o fim da linha, pois o último marca apenas o final do parágrafo.
Se você precisar de variáveis, certifique-se de citar o / :
entry=/usr
awk -v RS= "/DISK_info_start\:${entry//\//\\/}\n/" quota.txt
Usando perl :
perl tem um modo de parágrafo, também ( -00 ):
perl -00 -ne '/DISK_info_start\:\/usr\n/ && print' quota.txt
Adicione | tr -s '\n' para evitar imprimir a linha vazia no final.
Usando sed :
Você também pode usar sed da seguinte forma:
sed -n '/DISK_info_start:\/usr$/,/DISK_info_end:\/usr$/p' quota.txt
Isso não encontrará realmente parágrafos , mas de correspondência para correspondência.