Да, используйте его следующим образом.
touch a{1,3,11,22,23,123,1234} {1,11,123}
если бы у вас были обычные последовательности, такие как 0, 10, 20, 30, это можно было бы легко сделать с помощью следующей команды.
touch a{0..30..10}
Откуда вы знаете, что нижние строки отсутствуют, а самые верхние сохранены? То, что файл короче, не означает, что последние строки отвалились, просто некоторые куда-то потерялись.
Показать полный wc всех 4 файлов,не только туалет -л. Мы можем найти все (или большинство из )символов. Возможно, некоторые «ложные» строки соединились из-за нескольких CR (и не должны происходить, но и все это )тоже не должно происходить.
Куда идут рабочие файлы сортировки? Может быть, это /tmp, а может быть, он почти заполнен.
Запустите сортировку и затем отобразите статус.
Я могу опубликовать awk, который точно скажет вам, какие строки были потеряны, что может помочь объяснить, что происходит. (Diff не будет работать, если файлы отсортированы по-разному --вы получите огромный отчет.)
Возможно, некоторые строки слишком длинные. Я не могу вспомнить предел (, если он есть ). Я также могу опубликовать awk, чтобы показать максимальную длину строки.
Возникает следующий вопрос. Какая ОС, какая версия, какая машина. Например, раньше SunOS была ненадежной из-за длинных строк.
Всем спасибо. Я нашел источник проблемы. Я попытался передать вывод команды сортировки в wc -l, и количество строк было указано правильно для обоих CSV-файлов. Итак, после небольшого проб и ошибок я понял, что проблема связана с используемым мной скриптом Python. Я заменил вызовы os.system для сортировки файлов с помощью команды sort в конце скрипта на отдельный скрипт оболочки bash, и теперь все работает нормально. Я использую Python 3.6.7 и Bash Shell в комплекте с подсистемой Ubuntu Linux как часть Windows 10.