Вы выполняете операцию реляционного соединения. Для этого есть стандартная команда Unix: join
. Хотелось бы, чтобы об этом замечательном инструменте узнало как можно больше людей!
Команда join
объединяет два файла в общее поле. Однако два файла необходимо отсортировать по этому полю.
Общее поле - это поле 2 первого файла ( file1.txt
) и поле 1 второго файла ( file2.txt
). Отсортируйте файлы по этим полям:
$ sort -k2,2 -o file1.txt file1.txt
$ sort -k1,1 -o file2.txt file2.txt
Затем выполните объединение этих полей (прочтите руководство для join
), указав, что нам нужно только поле 1 из первого файла и поле 2 из второго. файл в качестве выходных данных и отсортируйте результат (при необходимости):
$ join -1 2 -2 1 -o 1.1,2.2 file1.txt file2.txt | sort
word_1 root_of_word_1
word_2 root_of_word_2
word_3 root_of_word_3
word_4 root_of_word_1
Параметры также берутся из переменной среды LESS
. Проверьте, был ли он установлен с помощью echo "$ LESS"
.