скажем, у меня есть следующий сценарий bash, который находит все ошибки. log дает им заголовок, а затем замыкает 5 строк под ним ..
#!/bin/bash
for ERR in `find -name "error.log"`;
do
echo -e "---- LOG: $ERR ----";
tail -n 5 $ERR;
done;
Я бы хотел, чтобы это было так:
---- LOG: foo/error.log ----
[error ....]
[error ....]
---- LOG: foo/error.log ----
[error ....]
[error ....]
---- LOG: foo/error.log ----
[error ....]
[error ....]
где tail
Раздел 'd имеет отступ на некоторое количество символов (например, 4 или любой другой символ табуляции)
Как мне сделать отступ для вывода этого конкретного раздела?
Передайте команду хвоста через sed:
tail -n 5 $ERR | sed -e 's/^/ /'
Есть много способов. Можно просто пропустить sed или awk и добавить немного места.
cat syslog | sed -e 's/^/ /'
#
cat syslog | sed -e 's/^/\t/'