Canalize seu comando tail através do sed:
tail -n 5 $ERR | sed -e 's/^/ /'
digamos que eu tenha o seguinte script bash que encontra todos os error.logs que fornecem um cabeçalho e depois caem 5 linhas abaixo dele.
#!/bin/bash
for ERR in 'find -name "error.log"';
do
echo -e "---- LOG: $ERR ----";
tail -n 5 $ERR;
done;
Eu gostaria que a saída fosse assim:
---- LOG: foo/error.log ----
[error ....]
[error ....]
---- LOG: foo/error.log ----
[error ....]
[error ....]
---- LOG: foo/error.log ----
[error ....]
[error ....]
em que a seção tail
'd é recuada em alguma quantidade de caracteres (por exemplo, 4 ou qualquer caractere de tabulação)
Como eu recuaria essa seção específica de saída?
Existem muitas maneiras. Pode-se simplesmente canalizar através do sed ou awk e adicionar algum espaço.
cat syslog | sed -e 's/^/ /'
#
cat syslog | sed -e 's/^/\t/'
Tags bash