Bash - пропустить строки, начинающиеся с неправильно написанного слова (используя hunspell) - PullRequest
0 голосов
/ 21 февраля 2012

У меня есть файл words.txt, в котором каждая строка представляет собой слово, за которым следует TAB, за которым следует целое число (которое представляет частоту слова).Я хочу создать новый файл, содержащий только те строки, в которых слово написано правильно.

Используя cat words.txt | hunspell -1 -G > ok_words.txt, я могу получить список правильных слов, но как я могу также включить остаток от каждой строки (т.е.TAB и число)?

Ввод:

adwy  27
bird  10
cat   12
dog   42
erfgq 9
fish  2

Желаемый вывод:

bird  10
cat   12
dog   42
fish  2

1 Ответ

5 голосов
/ 21 февраля 2012

Самый простой способ - использовать команду join:

$ join words.txt ok_words.txt 
bird 10
cat 12
dog 42
fish 2

или для сохранения вкладок:

$ join -t $'\t' words.txt ok_words.txt 
bird    10
cat 12
dog 42
fish    2
...