Форматирование файла в формате HTML

У меня есть небольшой скрипт, который будет форматировать файл журнала со всеми неудачными входами для пользователей в системе. Я написал сценарий для вывода данных в текстовом файле в этом формате (два столбца с числом неудачных попыток входа в первый, а второй – вторым):

1,325 Unknown 505 root 17 adm 16 ftp etc... 

Мне нужен этот файл, отформатированный в HTML-выход на консоли таким образом (каждая строка в файле будет напечатана в перерыве строки html):

 <html> <body><h1>Failed Login Attempts</h1> <br />1,325 Unknown <br />505 Root <br />17 adm etc.... </body> </html> 

То, что я сейчас делаю, это сохранить файл в переменной и поместить эту переменную в html так:

 file=$(cat finalo) #file name is finalo #print to console echo " <html> <body><h1>Failed Login Re...</h1> <br />$file </body> </html>" 

На выходном дисплее отображается содержимое всего файла на одном html <br /> . Мой вопрос: как я могу получить каждую строку в файле для печати на каждом <br /> ?

Я пробовал читать каждую конкретную строку файла, сохраняя это в переменной, а затем используя эту переменную на каждой строке <br /> например:

 line1=$(sed -n '1p' < finalo) line2=$(sed -n '2p' < finalo) line3=$(sed -n '3p' < finalo) 

А также:

 <html> <body><h1>Failed Login Report</h1> <br />$line1 <br />$line2 <br />$line3 etc... 

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

Любая помощь будет оценена! Это домашняя работа кстати.

Это проще, чем вы думаете:

 echo " <html> <body><h1>Failed Login Attempts</h1>" # The following line prepends <br /> before each line in finalo sed 's|^|<br />|' finalo echo " </body> </html>" 

Вы также можете использовать некоторое while

 #!/bin/bash echo " <html> <body><h1>Failed Login Attempt</h1>" while read line do echo "<br />$line" done < file echo "</body> </html>" 

Или с функцией

 function r_lines() { while read line do echo "<br />$line" done < file return $line } echo " <html> <body><h1>Failed Login Attempts</h1> $(r_lines) </body> </html>"