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.