#bash #shell
Вопрос:
Приведенный ниже скрипт сохраняет длинные строки в err_$(date).txt
файле. Я хотел бы преобразовать длинные строки в строки меньшего размера с новыми строками. В приведенном ниже коде, в err_$(date).txt
файле я получаю этот текст: Error1 in Machine 1 nn Error2 in Machine 1 nn Error2 in Machine 2 nn
. Я хотел бы сохранять новые строки каждый раз nn
, когда они есть. Но без nn
. В каждой следующей строке должна быть только ошибка , например, в строке 1 должна быть Error1 in Machine 1
ошибка, в строке 2 должна быть Error2 in Machine 1
ошибка и так далее. Я надеюсь, что вопрос ясен.
#!/bin/sh if grep -R "Error1 in Machine 1 " /home/new/Report.txt then echo "Error1 found in Machine 1" strg="${strg} Error1 found in Machine 1 nn" else echo "No Error found" fi if grep -R "Error2 in Machine 1" /home/new/Report.txt then echo "Error2 found in Machine 1" strg="${strg} Error2 in Machine 1 nn" else echo "No Error found" fi if grep -R "Error2 in Machine 2" /home/new/Report.txt then echo "Error2 found in Machine 2" strg="${strg} Error2 in Machine 2 nn" else echo "No Error found" fi whiptail --title "Report Error" --msgbox "${strg}" 24 30 echo "${strg}" gt;| /home/new/err_$(date).txt
Ответ №1:
Возможно, вы захотите попробовать что-то подобное:
while IFS="nn" read LINE; do #do your stuff with $LINE done lt; input.file