배쉬, 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"라는 실행 파일에 있으면 다음을 입력하십시오.
stereo file.in [column_width [page_width ["r l"]]]
column_width는 숫자입니다. 25-45가 작동하고 기본값은 35입니다.
page_width는 숫자이며 column_width의 약 2 배 여야합니다. 기본값은 80입니다.
교차보기를하려면 "r l"을 네 번째 인수로 사용하십시오. 기본값은 "l r"이며 병렬보기를 설정합니다.
편집 : 파일을 한 줄에 한 단어로 나누기 위해 다시 쓴 다음 끝에 다시 조립하십시오. 참고 : 자체 사용을 위해 "="부호를 예약합니다. 입력 파일의 "="기호는 공백이됩니다.
편집 : 메시지에 "="기호가 있으면 5 번째 매개 변수로 제공하여 스크립트에 사용할 다른 기호를 선택할 수 있습니다.
예
입력 : 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.
결과
./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 변형
마지막 행을 text-to-image 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 )
편집 3 : ImageMagick 변형이 추가되었습니다.