Продолжаю, я понял так и буду описывать как бы я выполнял эту задачу.
1.)В конец каждой строки каждого файла добавляем что-то редкое ❰∑∑❱, что точно не встретится, можно добавить слово, но так проще…
sed -i "s:$:∑∑:g" 001.txt;sed -i "s:$:∑∑:g" 002.txt;sed -i "s:$:∑∑:g" 003.txt
2.)Применяем команду paste и создаём общий файл, думаю что paste будет лучше cat потому что строки в дальнейшем окажутся в порядке 1.1,2.1,3.1❚1.2,2.2,3.2❚1.3,2.3,3.3
paste 001.txt 002.txt 003.txt > 004.txt
3.)Преобразуем полученный файл 004.txt
sed -i "s:∑∑:\n:g;s:\t: :g;s:∑∑: :g;s:^[ ]*::g;/^[ \t]*$/d ;s:^[ |\t]*::;s:[ |\t]*$::" 004.txt
Тут уже не будет пустых строк, пробелов в начале строк строки с пробелами и табуляцией тоже будут удалены. В этом файле будут все данные из трёх файлов.
4.)Чтобы удалить дубликаты не меняя порядка строк (т.е без сортировки) можно применить:
awk -i inplace '!($0 in a) {a[$0];print}' 004.txt
Я не рассматривал простейший случай объединить три файла командой cat отсортировать и удалить дубликаты и получить итоговый файл.
2021 Dec 14; 07:08 PM