Мой фиктивный файл выглядит так:
C1 C2 C3
1 a snow
2 b snowman
snow c sowman
Я хочу получить строку, если snow
в $ 3 есть строка . Я могу сделать вот так:
awk '($3=="snow" || $3=="snowman") {print}' dummy_file
Но должен быть способ попроще.
'$3~/snow/'
достаточноТакже возможно поиск подстроки с помощью функции index ():
Укороченная версия:
источник
awk 'index($3, "snow")' dummy_file
Может это поможет
http://www.math.utah.edu/docs/info/gawk_5.html
источник
Выведите строки, в которых третье поле либо одно,
snow
либоsnowman
только:источник
GNU sed
Вход:
..вывод:
источник
sed
слова целиком ОЧЕНЬ рискованно . Хотя это технически возможно, но для того, чтобы это работало надежно, мне приходилось использовать ретроспективный анализ, прогнозирование вперед, а также!?
конструкции, когда речь шла о словах, которые не должны следовать. Это уж точно для слабонервных. (И склонен к ошибкам, на поиск и исправление которых может