Объединение разных ответов: Когда вы хотите отсортировать файл на куски, попробуйте использовать Split:
LARGETMP=/var/tmp
mkdir ${LARGETMP}
N_LINES=100000 # Adjust when to still too large or too small
split --lines=${N_LINES} bigfile splitted_
for small in splitted*; do
sort -u -T ${LARGETMP} ${small} > sorted_${small}
rm ${small}
done
echo "Done with sorting the splitted files, now concate the stuff"
sort -um -T ${LARGETMP} sorted_* > bigfile.sorted
Редактировать:
AS @ UA2B прокомментировал, разделение по размеру в основном будет разделена в середине линий.
(Когда файл не имеет линейных шин, вся идея сортировки немного странно).
adduser
вызывает утилиту passwd
для установки пароля. Как и многие программы, запрашивающие пароль, passwd
настаивает на том, чтобы его выходные данные приходили с терминала. Таким образом, вы не можете передать его ввод через документ здесь, который создает временный файл или канал, а passwd
не принимает ни того, ни другого.
Вы можете пропустить adduser
(по крайней мере, версия Debian) параметр - disabled-password
, если вы не хотите иметь возможность входить с паролем (вы я все еще смогу войти в систему с помощью других методов, таких как ключи SSH, если вы их настроите). adduser
не имеет возможности передавать хэш пароля (не сам пароль), но useradd
из набора утилит для теневых паролей Linux делает это.
Если вы хотите ввести пароль во время создания учетной записи, убедитесь, что passwd
читает с терминала. Если вы получили пароль из другого источника (например, веб-формы), вызовите passwd
из сценария expect - пример .
Если это упражнение по использованию здесь документа, пароль не там, где вы должны его использовать. Я не вижу проблемы, которую можно было бы решить с помощью документа в том, что вы опубликовали.