Tôi có một tập lệnh xuất ra một danh sách các gói trên một dòng dài được phân tách bằng dấu cách. Thông tin trong dòng này sẽ được chèn vào một tệp văn bản mà sau đó được trình bày cho người dùng.
Tôi muốn chia dòng dài thành nhiều dòng với độ dài tối đa xác định, ví dụ 80 ký tự, nhưng việc phân tách chỉ xảy ra ở các khoảng trắng (vì vậy một số dòng có thể ngắn hơn nếu không có khoảng trắng sau chính xác 80 ký tự và phần tử tiếp theo sẽ tạo nó dài hơn).
Trường hợp một mục nhập dài hơn 80 ký tự có thể sẽ không bao giờ xảy ra và tôi không quan tâm nếu mục này được chia ra ở giữa hoặc kết quả trong một dòng dài hơn.
Về cơ bản, nó giống như hầu hết các trình soạn thảo văn bản làm khi tự động gói được chọn nhưng tôi muốn thực hiện nó từ một tập lệnh shell.
Ví dụ đầu vào:
libkrb5-3 libk5crypto3 openssh-server libc-bin base-files sysvinit-utils bind9-host python-minimal python-reportbug dnsutils perl libgnutls-openssl27 mutt reportbug libdns88 perl-base whois bash libgnutls26 perl-modules libapt-inst1.5 python2.7 libexpat1 libisccc80 libgssrpc4 apt-utils procmail apt locales liblwres80 libkrb5support0 python openssh-client multiarch-support libgcrypt11 dpkg libxml2 libbind9-80 wget libapt-pkg4.12 file ssh libkadm5clnt-mit8 libisccfg82 libkadm5srv-mit8 tzdata gpgv krb5-locales python2.7-minimal libgpgme11 openssl rsyslog libkdb5-6 host sysv-rc libgssapi-krb5-2 libisc84 libc6 initscripts sysvinit libmagic1 libssl1.0.0 gnupg
Đầu ra ví dụ mong muốn:
libkrb5-3 libk5crypto3 openssh-server libc-bin base-files sysvinit-utils
bind9-host python-minimal python-reportbug dnsutils perl libgnutls-openssl27
mutt reportbug libdns88 perl-base whois bash libgnutls26 perl-modules
libapt-inst1.5 python2.7 libexpat1 libisccc80 libgssrpc4 apt-utils procmail apt
locales liblwres80 libkrb5support0 python openssh-client multiarch-support
libgcrypt11 dpkg libxml2 libbind9-80 wget libapt-pkg4.12 file ssh
libkadm5clnt-mit8 libisccfg82 libkadm5srv-mit8 tzdata gpgv krb5-locales
python2.7-minimal libgpgme11 openssl rsyslog libkdb5-6 host sysv-rc
libgssapi-krb5-2 libisc84 libc6 initscripts sysvinit libmagic1 libssl1.0.0 gnupg