Os colchetes encaracolados {
}
são tratados como literais no BRE (Basic Regular Expression). De man grep
:
Basic vs Extended Regular Expressions
In basic regular expressions the meta-characters ?, +, {, |, (, and ) lose their
special meaning; instead use the backslashed versions \?, \+, \{, \|, \(, and \).
Então você precisa de
grep '[0-9]\{1,3\}-[0-9]\{1,3\}_something'
ou habilite o modo Extended Regular Expression com a opção -E
grep -E '[0-9]{1,3}-[0-9]{1,3}_something'