как преобразовать файловую систему bigendian squashfs в прямую

Один вариант :сказать caseискать 0, и в этом случае :ничего не делать; иначе , выполните команду:

case X in
  (0) : ## do nothing
      ;;
  (*) truncate...
      ;;
esac

Другой вариант :указать caseискать любую цифру, отличную от -ноль:

case X in 
  ([123456789]) truncate...
esac

... но вместо того, чтобы сопоставлять числа с case, я бы использовалtest:

if [ "$(grep -c ERROR /root/test/wayfile.log)" -gt 0 ]
then
  truncate...
fi

Я упростил grep... | wc -wдо grep -c, который запрашивает grepдля подсчета вместо привлечения wc.

Далее, поскольку вас на самом деле просто интересует, существует ли вообще слово ERRORв файле,вы можете просто спросить grep, есть ли он там:

if grep -F -q ERROR /root/test/wayfile.log
then
   truncate...
fi

Флаг -Fсообщает grep, что искомый текст является простым ("Фиксированный" )текст --без регулярных выражений; флаг -qуказывает grep быть "тихим" --не считать и не выводить совпадающие строки, просто установить его статус выхода в зависимости от того, нашел ли он вообще искомый текст (или нет ). Успешный код завершения (, равный 0 ), указывает, что искомый текст был найден в файле хотя бы один раз; сбой означает, что искомый текст вообще не был найден в файле.

0
20.12.2019, 22:21
1 ответ

да, вы можете сделать это с помощью jffs2dump. он, вероятно, предустановлен в вашем Linux, если нет, вы можете найти его здесь:https://github.com/project-magpie/jffs2dump

-1
17.07.2020, 16:21

Теги

Похожие вопросы