假设我有以下 bash 脚本,它可以查找所有错误。日志为它们提供一个标题,然后在其下方尾随 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 个或任何制表符)
我该如何缩进特定部分的输出?
答案1
通过 sed 管道传输你的 tail 命令:
tail -n 5 $ERR | sed -e 's/^/ /'
答案2
有很多方法。一种方法可能是简单地通过 sed 或 awk 管道并添加一些空格。
cat syslog | sed -e 's/^/ /'
#
cat syslog | sed -e 's/^/\t/'