Имам файл като този, съдържащ двойки (
и )
на всеки ред:
This is a sentence (1).
This is another sentence (a note).
This is a sentence (2).
This is another sentence (with another, longer note).
Трябва да изтрия всички редове, в които има по-малко от 5 знака между (
и )
и всички редове, в които има повече от 10 знака между (
и )
. Резултатът от горната проба ще изглежда така:
This is another sentence (a note).
- Никога няма повече от един набор от скоби на ред.
- Наборите от скоби никога не се разделят на редове.
- Всеки символ, включително интервали, вътре в скобите може да се счита за знак.
Ето какво имам досега:
grep \([\w{5},\w{10}]\) file.txt
awk -F\( -F\) 'length($2)>5' 'length($2)<10' file.txt
Как мога да изтрия всички редове от файла, които имат твърде малко или твърде много знаци в скобите?