2016-11-01 1 views
1

У меня есть файл, состоящий из линий, как это:Удалить линии с числом меньше X В поле N-й

ExampleText | En | 1.0 
ExampledText | Es | 0.9 
ExamplesText | En | 0.9994 
ExampleTexts | Br | 0.991 
ExampledText | Es | 0.83324 
ExamplerText | En | 0.4494 

Использование grep .*| En, я могу получить все строки, содержащие En. Однако, как я могу удалить все значения, содержащие менее 0,5 в последнем столбце?

Таким образом, выход:

ExampleText | En | 1.0 
ExamplesText | En | 0.9994 

Ваш позитивный вклад высоко ценится.

+1

последняя линия отфильтровывают. И вторая строка 'Es' не' En'. –

+0

@ Jean-FrançoisFabre: Спасибо. Я заметил свою ошибку. – Cyrus

ответ

0
awk '$2 == "En" && $3 >= .5' FS=' \\| ' 
  1. Установить разделитель полей в |

  2. Match, если поле 2 равно En и поле 3 больше или равна .5

+0

Хорошее объяснение :-) – DomainsFeatured

Смежные вопросы