Возникла задачка... застопорился на решении :)
Есть файл вида:
1 {0} {0} (1) [2] <3> {0} sdfgdf <3> [2] {0}
2 {0} {0} (1) [2] <3> {0} sdf {0}{0}{0}gdf <3> ={0} {0} {0} {0} [2] 3 {0}
3 {0} {0} (1) [2] <3> {0} sdf {0}{0}{0}gdf <3> ={0}-{0} [2] {0}
4 blabla {0} {0} (1) [2] <3> {0} sdf {0}{0}{0}gdf <3> ={0}^{0} [2] {0}
5 {0} {0} blabla(1) [2] <3> {0} sdf {0}{0}{0}gdf <3> ={0[2]}{0} [2] {0}
6 {0} {0} (1) [2] <3> {0} sdf {0}{0}{0}gdf <3> <3> ={0}{0} [2] {0}
Номера в начале - это номера строк для наглядности.
Условие: выбрать такие строки, где подстроки {0},(1),[2],<3> повторяются в произвольном порядке в строке до десяти раз, разделенные различным количеством любых символов, кроме ^ и -
после применения грепа нужно получить строки:
1 {0} {0} (1) [2] <3> {0} sdfgdf <3> [2] {0}
2 {0} {0} (1) [2] <3> {0} sdf {0}{0}{0}gdf <3> ={0} {0} {0} {0} [2] 3 {0}
6 {0} {0} (1) [2] <3> {0} sdf {0}{0}{0}gdf <3> <3> ={0}{0} [2] {0}
строки 3 и 4 содержат ^ и -
Строка 5 имеет неправильный элемент {0[2]}
Можно ли средствами только лишь grep (grep -E) решить эту задачу?