фильтр по первым двум буквам столбца

Самый прямой способ - sum(numbers == x).

numbers == x создает логический вектор, который является ИСТИННЫМ в каждом месте, где встречается x, а когда sum ing, логический вектор принуждается к числовому, который преобразует TRUE в 1 и FALSE в 0.

Однако обратите внимание, что для чисел с плавающей запятой лучше использовать что-то вроде: sum(abs(numbers - x) < 1e-6).

4
задан kvantour 29 March 2019 в 10:48
поделиться

1 ответ

Вы можете использовать

awk '$2 !~ /^.?[OI]/' file

См. Онлайн-демонстрацию awk .

'$2 !~ /^.?[OI]/' означает: вывести все строки, где поле 2 не совпадает:

  • ^ - начало строки
  • .? - любой 1 необязательный символ [ 1113]
  • [OI] - либо O, либо I.

Первые две буквы должны быть буквами, заменить . на [[:alpha:]] или [A-Z], просто выберите то, что лучше всего соответствует вашим требованиям.

0
ответ дан Wiktor Stribiżew 29 March 2019 в 10:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: