split ,tr and tee unix command with examples

In this article, we will be discussing the useful cases of split  unix command with examples. We will also be discussing the tr and tee commands

split unix command

it split a file into pieces.
SYNTAX for the Split command
split [-linecount | -l linecount | -b bytes]  [file [name] ]
-l linenumber
-b bytes

This command is widely used to split the files  into smaller small for variour purpose like parallel processing.  You have 1000 lines command where each command can be executed parallelly, then  you can split the files in example 4 files and execute them parallely to finish the processing in time.

Other example would be split the big files and then transmit over network so that we dont get disconnection issues

How to split the files based on lines

split -l 100 x.txt  z
This  would split the file “x.txt” into files beginning with the name “z” each containing 100 lines of text each

$split -l 100 x.txt z


zaa zab zac z.txt

This will output three files, zaa, zab, and zac, and each one will be 1,00 lines long.

How to split the files based on bytes

We can use the split option -b to enable the splitting based on bytes

split -b 40k f1.txt segment

This will output four 40KB files: segmentaa, segmentab, segmentac, and segmentad.

tee command

tee   – Used in the middle of a pipeline, this command allows you to both redirect output to a file, and pass it to further commands in the pipeline.

How to use it

Examples: $check_patch_logs.ksh | tee check.log| more

Output of check_patch_logs.ksh is stored in the filecheck.log, and also pass it to more to display it one screen at a time.

tr command

tr  is used to  Translate characters.

tr [-c] [-d] [-s] [string1] [string2]

-c Complement the set of characters specified by string1.
-d Delete all occurrences of input characters that are specified by string1.
-s Replace instances of repeated characters with a single character.
string1 First string or character to be changed.
String2 Second string or character to change the string1.

How to convert lower case to upper case

We can use tr command  with out option -d,-c and -s for that

$ echo $ORACLE_SID| tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ


$ echo $ORACLE_SID| tr [a-z] [A-Z]


$ echo $ORACLE_SID| tr [:lower:] [:upper:]


$  echo “good boy” | tr  good bad
bddd bdy


How to Delete specified characters using -d option

tr can also be used to remove particular characters using -d option.

$ echo $ORACLE_SID


$ echo $ORACLE_SID| tr -d ‘T’


$echo “good boy” | tr -d “g”
ood boy

How to use option -s to convert repeated occurrence of character into single character

tr ‘[A-Z]’ ‘[a-z]’ <1.txt | tr -cs ‘a-z’ ‘\n’ | sort

What this does is pass the contents of 1.txt to the tr command to translate uppercase letters to lowercase; the output from that is piped to another tr command that turns everything except lowercase letters into line breaks (effectively putting each word on a seperate line); that’s piped to sort which puts the lines (words) in alphabetical order

How to use option -c with tr

-c can be used to find the complement of string1.

For example, to remove all characters except digits, you can use the following

$ echo ” My id is MQ123452″ | tr -cd [:digit:]