Как получить полные слова на основе частичного ввода? - PullRequest
0 голосов
/ 23 октября 2018

У меня есть файл text.txt, который содержит следующие слова.

 1. moon,one
 2. sun,two
 3. well,three
 4. doll,four

если я grep этот файл, используя sun

grep -i sun text.txt

Я получу вывод

sun,two

Но мое требование: мне нужно grep со словом, начинающимся с sun, а не с Солнца.

grep -i sunlight text.txt

Здесь мне нужен такой же вывод дляgrep -i sun text.txt.

Ответы [ 4 ]

0 голосов
/ 23 октября 2018

Вам не нужны ни awk, ни gawk, ни sed.Просто сделайте

grep -o 'sun.*'

Другие более сложные / элегантные решения могут быть доступны в зависимости от системы, которую вы используете.

0 голосов
/ 23 октября 2018

Это то, что вы ищете?

awk -F ',' '/^[SsuUnN]/ {print $0}' test.txt

или если вы хотите найти шаблон "солнце" в общем из файла input_file, то используйте это:

awk -F ',' 'BEGIN{IGNORECASE=1} /sun/ {print $0}' test.txt
0 голосов
/ 23 октября 2018

Попробуйте использовать -o, как показано в документации .

. -o заставляет grep возвращать только соответствующую часть.Вы также можете использовать регулярные выражения .

grep -io sun text.txt

0 голосов
/ 23 октября 2018

То, что вы ищете, это регулярные выражения .

В вашем случае это будет

grep -i 'sun.*' text.txt
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...