공백으로 구분 된 하나의 긴 줄에 패키지 목록을 출력하는 스크립트가 있습니다. 이 줄에 포함 된 정보는 텍스트 파일에 삽입되어 나중에 사용자에게 제공됩니다.
긴 줄을 정의 된 최대 길이 (예 : 80 자)로 여러 줄로 나누고 싶지만 분할은 공백에서만 발생해야합니다 (따라서 정확히 80 자 뒤에 공백이 없으면 다음 줄이 만들어지면 일부 줄이 짧아 질 수 있습니다) 더 이상).
단일 항목이 80자를 초과하는 경우는 절대 발생하지 않으며이 항목이 중간으로 나뉘어 있거나 한 줄이 더 길어도 상관 없습니다.
기본적으로 자동 줄 바꿈을 선택할 때 대부분의 텍스트 편집기가하는 것과 동일하지만 쉘 스크립트에서 수행하고 싶습니다.
입력 예 :
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
원하는 출력 예 :
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