Слишком большое значение для определенного типа данных в команде Comm Solaris
Когда я использую команду comm для сравнения файлов с 2 ГБ и 1,7 ГБ, я получаю следующую ошибку.Слишком большое значение для определенного типа данных
Я попробовал следующую команду.
comm -23 file1.txt file2.txt
Solaris Generic_150401-32 i86pc
Пожалуйста, помогите
1 ответ
Как пишет Сатиядасан, Solaris 10 comm не может обрабатывать большие файлы (>2 ГБ).
Я предлагаю 3 варианта: 1) скачать GNU-версию comm и использовать ее на Solaris 10 2) перейти на Solaris 11 и использовать /usr/gnu/bin/comm 3) написать более сложный скрипт, в зависимости от того, что вы пытаясь достичь:
Сокращение ваших данных может сделать проблему более управляемой. Если в файлах много повторяющихся записей, это хорошо работает. Если вы пытаетесь найти строки, уникальные для первого файла, но не заботитесь о порядке строк в файле, вы можете использовать:
sort -o file1.smaller -u file1.txt sort -o file2.smaller -u file2.txt comm -23 file1.smaller file2.smaller
На самом деле, как вы справитесь с этим, зависит от характера ваших данных и того, что вы пытаетесь обнаружить.
Удачи!