У меня есть несколько файлов списка слов, которые основаны на слове в строке.
Теперь я хочу создать новый файл, который должен быть:
сравнил первый и второй файл и подставил слова из второго файла, которых нет в первом, поместив их в третий файл.
Файл_1
слово1
слово2
слово3
слово4
слово5
Файл_2
слово1
слово3
слово5
слово7
слово9
Я пробовал несколько вещей:
cat file.1 file.2 | sort -n | uniq -u | cat > file.3
Но я получаю:
Файл_3
слово2
слово4
слово7
слово9
Также я пробовал:
cat file.1 file.2 | sort -n | uniq -d | cat > file.3
но снова получаю:
Файл_3
слово1
слово3
слово5
Я пробовал также с ECHO
echo $(cat file.{1,2} | sort -n | uniq -u) > file.3
Но я получаю одни и те же слова, и, что хуже всего, он печатает все в одну строку.
Окончательный File_3 должен содержать:
слово7
слово9
Потому что эти слова не найдены в первом файле.
Любая идея, как это сделать?
grep
с правильными флагами должен это сделать: шаблон должен быть прочитан из файла, разделенного символами новой строки, и он должен печатать не совпадающие файлы вместо совпадающих. Я считаю, что у него есть флаги, чтобы сделать именно это, поэтому перечитайте справочную страницу. - person hyde   schedule 15.12.2013cat
? Если серьезно; избегайте бесполезного использованияcat
. - person tripleee   schedule 15.12.2013