Рассмотрим:
$ echo 'a [b][c]' | awk -F '[\\]\\[]' '{print $2}'
b
Это имеет смысл для меня как действительного регулярного выражения для [
или ]
.
Все же это также работает:
$ echo 'a [b][c]' | awk -F '[][]' '{print $2}'
b
И аналогично в grep:
$ echo 'a [b][c]' | grep '[][]'
a [b][c]
Но я не понимаю как. [][]
, кажется, "соответствует без символов" (то есть, []
) дважды подряд. Что происходит?