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}
Якщо сценарій знаходиться у виконаному файлі під назвою "стерео", тоді введіть
stereo file.in [column_width [page_width ["r l"]]]
column_width - це число; 25-45 буде працювати, за замовчуванням - 35.
page_width - це число, має бути приблизно вдвічі ширше стовпця, за замовчуванням - 80
Для перегляду очима, використовуйте "r l" як четвертий аргумент. За замовчуванням - "l r", яка встановлює паралельний перегляд.
EDIT: Переписати, щоб розділити файл на одне слово на рядок, а потім зібрати в кінці. Примітка: знак "=" резервує для власного використання. Будь-які знаки "=" у вхідному файлі стануть пробілами.
EDIT: Якщо у вашому повідомленні є знаки "=", ви можете вибрати інший символ для сценарію, поставивши його як 5-й параметр.
Приклад
Вхід: вегетаріанство.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.
Результат
./stereo vegetarianism.txt 32 72 "l r": | розгорнути (використовуючи двокрапку для внутрішнього робочого символу)
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" | розширити
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!
"| Розширення" не потрібно, але при зміщенні результату на 4 місця TAB отримують неправильну обробку. Його можна було вкласти в сценарій вартістю 7 байт.
Варіація ImageMagick
Заміна останнього рядка командою ImageMagick з текстовим зображенням:
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:
У цьому, "r" і "l" для розплющених очей проти паралельного перегляду - це окремі аргументи:
./im_stereo vegetarianism.txt 40 80 lr =
(джерело: simplesystems.org )
EDIT 3: Додано варіацію ImageMagick.