Как многие уже отмечали, paste здесь - правильный инструмент.
paste -d ,\'\' file1 /dev/null file2 /dev/null
Если file2
короче, чем file1
, то paste
будет действовать так, как если бы в конце было столько пустых строк, сколько соответствует file2
.
Если вы хотите действовать так, как будто file2
повторяется снова и снова, повторяйте это снова и снова, пока не достигнете счетчика строк file1
.
while true; do cat file2; done | head -n "$(wc -l file1)" |
paste -d ,\'\' file1 /dev/null - /dev/null
Для этого требуется дважды пройти по file1
.В зависимости от относительной скорости вашего процессора и ввода-вывода, может быть быстрее отказаться от вставки
и вместо этого использовать инструмент, который может обрабатывать несколько файлов более гибким способом, например awk. Вот решение awk, которое не требует полной загрузки ни одного файла в память (если file2
маленький, кеш диска все равно позаботится об этом).
awk -v file2=file2 '
!getline s
Пояснение: getline s
file2
, открывая ее при необходимости. Если это не удается (потому что был достигнут конец файла), закройте файл и начните заново.
Учитывая, что анимации работают из командной строки. Попробуйте добавить следующие строки в/etc/rc.local
:
su - <username> - c startx
exit 0
Я решил эту проблему, установив и используя рабочий стол vanilla -gnome -на моем Ubuntu 18.04