Bash, sed: 228 223 197 (242 - 70) = 172
c=${5:-=};R=$c;L=;for f in r l;do
e="sed -e ";$e"$ d;s/$\| */ \n/g" $1>m
o=1;for w in `$e"$ p;d" $1`;do
$e"$o,/^$w /s/^$w /$L$w$R /" m>n;o="/$c/"
cp n m;done;tr -d \\n<n|fold -sw${2:-35}|$e"s/$c/ /g">$f
L=$c;R=;done;pr -tmw${3:-80} ${4:-l r}
Jika skrip berada dalam file yang dapat dieksekusi yang disebut "stereo", ketikkan
stereo file.in [column_width [page_width ["r l"]]]
column_width adalah angka; 25-45 akan berfungsi, standarnya adalah 35.
page_width adalah angka, seharusnya sekitar dua kali lipat column_width, standarnya adalah 80
Untuk tampilan mata juling, gunakan "r l" sebagai argumen ke-4. Standarnya adalah "l r" yang mengatur tampilan paralel.
EDIT: Menulis ulang untuk membagi file menjadi satu kata per baris, lalu pasang kembali di bagian akhir. Catatan: cadangan tanda "=" untuk penggunaannya sendiri. Tanda "=" apa pun dalam file input akan menjadi kosong.
Sunting: Jika pesan Anda memiliki tanda "=" di dalamnya, Anda dapat memilih simbol lain untuk digunakan skrip, dengan menyediakannya sebagai parameter ke-5.
Contoh
Masukan: vegetarianism.txt:
I invented vegetarianism. It is a diet involving no meat, just
vegetables. It is also common in cows - they are awesome.
vegetarianism. is awesome.
Hasil
./stereo vegetarianism.txt 32 72 "l r": | perluas (gunakan tanda titik dua untuk simbol kerja internalnya)
I invented vegetarianism. It I invented vegetarianism. It
is a diet involving no meat, is a diet involving no meat,
just vegetables. It is also just vegetables. It is also
common in cows - they are common in cows - they are
awesome. awesome.
./stereo washington.txt 35 75 "l r" | bentangkan
In a little district west of In a little district west of
Washington Square the streets Washington Square the streets
have run crazy and broken have run crazy and broken
themselves into small strips themselves into small strips
called 'places'. These 'places' called 'places'. These 'places'
make strange angles and curves. make strange angles and curves.
One Street crosses itself a time One Street crosses itself a time
or two. An artist once discovered or two. An artist once discovered
a valuable possibility in this a valuable possibility in this
street. Suppose a collector with a street. Suppose a collector with a
bill for paints, paper and canvas bill for paints, paper and canvas
should, in traversing this route, should, in traversing this route,
suddenly meet himself coming suddenly meet himself coming
back, without a cent having been back, without a cent having been
paid on account! paid on account!
"| Perluas" tidak perlu tetapi ketika menggeser output dengan 4 tempat TAB ditangani secara tidak benar. Itu bisa dimasukkan ke dalam skrip dengan biaya 7 byte.
Variasi ImageMagick
Mengganti baris terakhir dengan perintah ImageMagick teks-ke-gambar:
c=${6:-=};R=$c;L=;for f in r l;do
e="sed -e ";$e"$ d;s/$\| */ \n/g" $1>m
o=1;for w in `$e"$ p;d" $1`;do
$e"$o,/^$w /s/^$w /$L$w$R /" m>n;o="/$c/"
cp n m;done;tr -d \\n<n|fold -sw${2:-35}|$e"s/$c/ /g">$f
L=$c;R=;done;
convert -border 10x30 label:@${4:-l} label:@${5:-r} +append show:
Dalam hal ini, "r" dan "l" untuk tampilan juling versus paralel adalah argumen terpisah:
./im_stereo vegetarianism.txt 40 80 lr =
(sumber: simplesystems.org )
EDIT 3: Menambahkan variasi ImageMagick.