rot man page on DragonFly

Man page or keyword search:  
man Server   44335 pages
apropos Keyword Search (all sections)
Output format
DragonFly logo
[printable version]

ROT(1)									ROT(1)

NAME
       rot - rotate a file

SYNOPSIS
       rot [-rbloB] [-c c] [file]

DESCRIPTION
       Rot  rotates a file, so that lines become columns and vice versa. With‐
       out any options, the file will be rotated clockwise. So, from the input

		 abcde
		 abcd
		 abc
		 ab
		 a
		    xx xx
		 A
		 AB
		 ABC
		 ABCD
		 ABCDE

       you will get

		 AAAAA aaaaa
		 BBBB	bbbb
		 CCC	 ccc
		 DD   x	  dd
		 E    x	   e

		      x
		      x

       Rot uses a two pass algorithm, where the first part collects  the  line
       length  of  each	 line  in the input, and the second prints out the new
       lines, seeking through the input file.  When no file or - is given, rot
       reads from standard input.

OPTIONS
       -r     rotate reverse (counter-clockwise)

       -b     normally,	 rot  suppresses printing of trailing blanks in output
	      lines.  This option retains them, so all	blanks	of  the	 input
	      will appear in the output

       -l     do  only	the  first  pass and print the number of lines and the
	      length of the longest line found to standard output

       -o     change order of columns; in combination with the	rotation  this
	      yields one more file operation (see below)

       -B     this  is for big files; the data will be hold in temporary files
	      rather than in memory; this slows down rot enormously

       -c c   use c as "line"-separator, instead of the newline character

REMARKS
       One may ask, what rot is useful for.  Think about the functionality  of
       programs	 like  cat(1),	or  the line oriented grep(1), cut(1), sed(1),
       sort(1), and others, when applied to a rotated  file.   In  conjunction
       with rot they do not longer work on lines, but columns.	For example

		 rot f | grep ... | rot -r

       is a grep on columns of the file f.

       The -o option permits you to manipulate a file in some way of "reflect‐
       ing" it in a "diagonal" line. The following table shows	the  different
       effects	of rot called with various options. Data manipulation is shown
       by means of the output of a file with the contents

		 AB
		 CD

       and a symbolic notation.	 R  means  Rotation  (angle  given),  M	 means
       reflection  at given mirror axis.  Combinations of two calls of rot are
       also given. (Other combinations have identical effects to  one  of  the
       mentioned.)

			 ┌──────────────┬────────┬──────────┐
			 │call		│ output │ function │
			 ├──────────────┼────────┼──────────┤
			 │rot		│   CA	 │    R	    │
			 │		│   DB	 │ -90 deg  │
			 ├──────────────┼────────┼──────────┤
			 │rot -r	│   BD	 │    R	    │
			 │		│   AC	 │  90 deg  │
			 ├──────────────┼────────┼──────────┤
			 │rot -o	│   DB	 │    M	    │
			 │		│   CA	 │    /	    │
			 ├──────────────┼────────┼──────────┤
			 │rot -ro	│   AC	 │    M	    │
			 │		│   BD	 │    \	    │
			 ├──────────────┼────────┼──────────┤
			 │rot | rot	│   DC	 │    R	    │
			 │		│   BA	 │ 180 deg  │
			 ├──────────────┼────────┼──────────┤
			 │rot | rot -r	│   AB	 │  (Id) *  │
			 │		│   CD	 │	    │
			 ├──────────────┼────────┼──────────┤
			 │rot | rot -o	│   BA	 │   M **   │
			 │		│   DC	 │    |	    │
			 ├──────────────┼────────┼──────────┤
			 │rot | rot -ro │   CD	 │    M	    │
			 │		│   AB	 │    -	    │
			 └──────────────┴────────┴──────────┘
       *  Note,	 that	rot|rot	 -r  (or  rot|rot|rot|rot)  is not exactly the
       null operator.  Rot must insert blanks to keep track  of	 the  columns.
       They  may appear at the end of lines in a further run of rot, if the -b
       option is given.	 Without this option blanks from  the  original	 input
       may be lost.

       ** This is not the same as what is done by rev(1).  Rev does not retain
       columns!

       Rot knows nothing about tab characters, use expand(1)  to  handle  them
       correctly.

FILES
       /tmp/rot* -
	      temporarily  copied  input,  if  standard	 input is incapable of
	      seeking (pipe or terminal) (-B option only)

       /tmp/rod* -
	      tempfile for holding length of input lines (-B option only)

SEE ALSO
       rev(1), tail(1bsd), tac(1public), expand(1), colrm(1)

AUTHOR
       Martin Schmidt
       Dortmund - W. Germany
       mschmidt@exunido.uucp

UNIX				    public				ROT(1)
[top]

List of man pages available for DragonFly

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net