оболонки сценаріїв, що підсвічуються для шаблону, а потім ехо-повідомлення


1

У мене є файл, який має нижчий малюнок

=================================================

4601 -- it means completed
4602 -- it means failed
4603 -- it means timed out

=================================================

Якщо я роблю хвіст -10 до файлу, то я б отримав будь-який візерунок зверху.

Я хочу grep вище трьох номерів, а потім відобразити повідомлення як завершено | Failed | Timed-Out.

Будь-яка ідея?

Дякую!

Відповіді:


0

Ось невеликий сценарій, який можна використовувати для тестування - запустити його в безпечному місці, наприклад, / tmp або так:

# Prepare
rm *.txt
echo 4601 -- it means completed > f1.txt
echo 4602 -- it means failed > f2.txt
echo 4603 -- it means timed out > f3.txt

# Test
for i in *.txt; do echo
  echo --- Processing file $i
  if grep -qs 4601 $i; then
    echo Completed
  elif grep -qs 4602 $i; then
    echo Failed
  elif grep -qs 4603 $i; then
    echo Timed-Out
  fi
done

Завдяки @grawity за корисний відгук (див. Його коментар нижче) за те, що не створює непотрібних оболонок / працює тести / прискорення тут!

Він створить 3 файли - f1.txt, f2.txt і f3.txt, кожен з яких містить одне із зазначених вами кодів, а потім обробляє кожен з файлів, генеруючи потрібні повідомлення.

Сподіваюся, що це допомагає.


Спасибі це рок !! це спрацювало ... саме те, що мені було потрібно. Привітання!
maneeshshetty

if [ `grep -c ...` -gt 0 ] є непотрібним. if grep -qs ... достатньо.
grawity

@grawity Спасибі, це хороший рада - редагувати для інших, хто може натрапити на.
icyrock.com
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.