我需要解析许多日志文件,下面是示例结构。 我需要使用一行命令(Linux / Unix)同时查看每个目录下的debug.log文件内容。可能与awk / sed / cat等。 目录数(1,2,3,4 ......)各不相同。我需要使用名称而不是'*'来限制目录。
1/logs/debug.log
2/logs/debug.log
3/logs/debug.log
4/logs/debug.log
5/logs/debug.log
6/logs/debug.log
如果每个debug.log内容如下:
In 1/logs/debug.log: finished.
Please go ahead next step.
In 2/logs/debug.log: failed.
In 3/logs/debug.log: finished.
Please go ahead next step.
In 4/logs/debug.log: finished.
Please go ahead next step.
In 5/logs/debug.log: Error.
In 6/logs/debug.log: finished.
Please go ahead next step.
预期产出:
1: finished.
1: Please go ahead next step.
2: failed.
3: finished.
3: Please go ahead next step.
4: finished.
4: Please go ahead next step.
5: Error.
6: finished.
6: Please go ahead next step.
对于非常复杂的问题感到抱歉,如果您能让我知道解决方案的方向,我们将不胜感激。
需要使用'循环'来遍历所有子目录。
答案 0 :(得分:1)
awk -v OFS=': ' 'FNR==1{dir=FILENAME; sub("/.*","",dir)} {print dir, $0}' */logs/debug.log