Показать только совпадающие результаты [закрыто]
Если вы новичок в bash, это, вероятно, легкий вопрос. Мой код ниже работает нормально, проблема только в том, что отображается весь вывод. Я только хочу, чтобы он возвращал имя файла, где есть совпадение, и не печатал вывод в терминале в противном случае. Может ли кто-нибудь протянуть руку помощи?
for file in *.otr; do binwalk -R "\x4c\75" $file; done
1 ответ
Поскольку, похоже, не возвращает (ненулевой) статус, когда ничего не находит, вы можете (например) использовать
grep
чтобы проанализировать и отбросить его вывод и сгенерировать для вас статус.
for file in *.otr; do
binwalk -R $'\x4c\75' "$file" \
| grep -q 'Raw signature' && echo "$file"
done
Если
Raw signature
не является достаточно универсальной строкой для сопоставления, вам нужно будет использовать более сложное регулярное выражение для переваривания
binwalk
вывод.