2016-07-27 3 views
1

Существует много файлов журналов, которые мне нужно проанализировать, а ниже - структуры образцов. Мне нужно одновременно просматривать содержимое файлов debug.log в каждой директории с одной строкой команд (Linux/Unix). Вероятно, с awk/sed/cat и т. Д. Число каталогов (1,2,3,4 ...) меняется. Мне нужно ограничить каталог именами, а не «*».Как я могу разобрать много файлов одновременно с помощью одной строки (Linux/Unix)

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. 

Извините за очень сложный вопрос, но будет признателен, если вы могли бы дайте мне знать направление к решению.

Я получил ответ

нужно использовать «Loop», чтобы пройти все подкаталоги.

+0

Мы здесь не для того, чтобы выполнять всю работу за вас. Мы можем помочь * вам написать код, но не просто сделать все. По крайней мере, попробуйте что-нибудь, покажите, что вы попробовали, а затем объясните, что именно это мешает вам развиваться. – kaylum

+0

Извините, но иногда есть время, о котором мы ничего не можем придумать для нашей проблемы. – Sigularity

ответ

1
awk -v OFS=': ' 'FNR==1{dir=FILENAME; sub("/.*","",dir)} {print dir, $0}' */logs/debug.log 
+0

Что делать, если мне нужно ограничить некоторые каталоги вместо '*'? Я думал, что могу поместить имя каталога, в котором мне нужно разобрать стиль цикла в предложении 'for'. Благодарю. – Sigularity

+0

Вам нужно будет предоставить более конкретную информацию в вопросе, включая сжатый, тестовый ввод проб и ожидаемый результат, чтобы мы могли дать вам советы о том, что вы просите, как это сделать. –

 Смежные вопросы

  • Нет связанных вопросов^_^