Я хочу сопоставить строку, содержащую [xyz] или [abc] из файла, используя bash grep, который содержит как:
TEST_FILE:
Testing of pattern line no 1 [xyz]
Hi, this is just test file contains abc and/or xyz etc..
Пробный код:
if ( grep -iq "\[xyz\]" "$TEST_FILE" ); then
PATTERN_MATCH="xyz matched"
elif ( grep -iq "\[abc\]" "$TEST_FILE" ); then
PATTERN_MATCH="abc matched"
fi
Проблема в том, что она всегда совпадает, хотя, передавая xyz / abc вместо [xyz] / [abc].
Содержимое файла может соответствовать регистронезависимому [XYZ] или [ABC]но только с XYZ или ABC.[и] специальный символ, заключенный в строку.Может ли кто-то указать проблему или решение для того же самого из-за [и] специального символа?Я пробовал другие способы, используя grep и egrep, но не повезло!