0% found this document useful (0 votes)
60 views

Unix - Lab Manual 02

This document outlines various shell scripting and Unix command line programs and exercises covered in a Unix and Shell Programming lab course. The programs cover basic Unix commands, text editing and filtering tools, arithmetic operations, conditional statements, loops, functions, pattern matching, file manipulation and more. Students are tasked with writing shell scripts to perform tasks like checking if a number is prime, generating Fibonacci sequences, calculating factorials and more. The document also covers using Awk for advanced text parsing and manipulation.

Uploaded by

Umar Riyaz
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
60 views

Unix - Lab Manual 02

This document outlines various shell scripting and Unix command line programs and exercises covered in a Unix and Shell Programming lab course. The programs cover basic Unix commands, text editing and filtering tools, arithmetic operations, conditional statements, loops, functions, pattern matching, file manipulation and more. Students are tasked with writing shell scripts to perform tasks like checking if a number is prime, generating Fibonacci sequences, calculating factorials and more. The document also covers using Awk for advanced text parsing and manipulation.

Uploaded by

Umar Riyaz
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 26

Unix and Shell Programming Lab (CSE-6217L)

1) Execution of general-purpose utility commands

who, cal , date , time , echo:

Department of CSE 1|Page


Unix and Shell Programming Lab (CSE-6217L)

mkdir , cd , rmdir , rm :

cp :

Department of CSE 2|Page


Unix and Shell Programming Lab (CSE-6217L)

2) Commands like cat, ls, chmod and vi editor

ls , cat :

chmod :

Department of CSE 3|Page


Unix and Shell Programming Lab (CSE-6217L)

vi editor :

Department of CSE 4|Page


Unix and Shell Programming Lab (CSE-6217L)

3) Grep filter and its different pattern options :

Department of CSE 5|Page


Unix and Shell Programming Lab (CSE-6217L)

4) Simple shell script for basic Arithmetic Calculation

#!/bin/sh
a=10
b=20
val=`expr $a + $b`
echo "a + b : $val"
val=`expr $a - $b`
echo "a - b : $val"
val=`expr $a \* $b`
echo "a * b : $val"
val=`expr $b / $a`
echo "b / a : $val"
val=`expr $b % $a`
echo "b % a : $val"
if [ $a != $b ]
then
echo "a is not equal to b"
else
echo "a is equal to b"
fi

Department of CSE 6|Page


Unix and Shell Programming Lab (CSE-6217L)

Output :

Department of CSE 7|Page


Unix and Shell Programming Lab (CSE-6217L)

5) Program to check whether a number entered prime or composite number.

#!/bin/bash
echo -n "ENTER THE NUMBER: "
read n
f=0
mid=`expr $n \/ 2`
x=2
while [ $x -le $mid ]
do
rem=`expr $n % $x`
if [ $rem -eq 0 ]
then
done
f=1
fi
x=`expr $x + 1`
if [ $f -eq 0 ]
then
echo "NUMBER IS PRIME"
else
echo "NUMBER IS COMPOSITE"

Department of CSE 8|Page


Unix and Shell Programming Lab (CSE-6217L)

Output :

Department of CSE 9|Page


Unix and Shell Programming Lab (CSE-6217L)

6) Shell Program to find factorial of number

#!/bin/bash
echo -n "ENTER THE NUMBER: "
read n
fact=1
x=2
while [ $x -le $n ]
do
fact=`expr $fact \* $x`
x=`expr $x + 1`
done
echo "FACTORIAL OF $n = $fact"

Output :

Department of CSE 10 | P a g e
Unix and Shell Programming Lab (CSE-6217L)

7) Shell Program to generation of Fibonacci series of number

#!/bin/bash
echo -n "ENTER THE NUMBER: "
read n
f1=0
f2=1
while [ $n -ge 1 ]
do
f3=`expr $f1 + $f2`
echo "$f1"
f1=$f2
f2=$f3
n=`expr $n - 1`
done

Output :

Department of CSE 11 | P a g e
Unix and Shell Programming Lab (CSE-6217L)

8) Program to implement IF-ELSE condition

#!/bin/bash
echo -n "ENTER THE FIRST NUMBER: "
read a
echo -n "ENTER THE SECOND NUMBER: "
read b
if [ $a -gt $b ]
then
echo "A is Greater"
else
echo "B is Greater"
fi

Output :

Department of CSE 12 | P a g e
Unix and Shell Programming Lab (CSE-6217L)

9) Program to implement NESTED-IF-CONDITION

#!/bin/bash
echo -n "ENTER THE FIRST NUMBER: "
read a
echo -n "ENTER THE SECOND NUMBER: "
read b
echo -n "ENTER THE THIRD NUMBER: "
read c
if [ $a -gt $b ]
then
echo "A is Greater"
elif [ $b -ge $c ]
then
echo "B is Greater"
else
echo "C is Greater"
fi

Department of CSE 13 | P a g e
Unix and Shell Programming Lab (CSE-6217L)

Output :

Department of CSE 14 | P a g e
Unix and Shell Programming Lab (CSE-6217L)

10) Program on case statement

#!/bin/bash
echo -n "ENTER THE NUMBER: "
read n
case $n in
1)
echo "Pressed 1" ;;
2)
echo "Pressed 2" ;;
3)
echo "Pressed 3" ;;
*)
echo "Pressed other than 1 or 2 or 3"
esac

Output :

Department of CSE 15 | P a g e
Unix and Shell Programming Lab (CSE-6217L)

11) Generate a program to display the given pattern using for loop

#!/bin/bash

for (( i=1; i<=4; i++ ))

do

for (( j=1; j<=$i; j++ ))

do

echo -n "*"

echo " "

done

Output :

Department of CSE 16 | P a g e
Unix and Shell Programming Lab (CSE-6217L)

12) Check whether the STRING is Palindrome OR Not

#!/bin/bash
echo -n "ENTER A STRING: "
read str
len=`echo $str | wc -c`
len=`expr $len - 1`
rev=" "
while [ $len -gt 0 ]
do
r=`echo $str | cut -c $len`
rev=$rev$r
len=`expr $len - 1`
done
echo " "
echo "ORGINAL STRING:$str"
echo "REVERSED STRING:$rev"
if [ $str = $rev ]
then
echo "Palindrome"
else
echo "Not Palindrome"
fi

Department of CSE 17 | P a g e
Unix and Shell Programming Lab (CSE-6217L)

Output :

Department of CSE 18 | P a g e
Unix and Shell Programming Lab (CSE-6217L)

13) Addition of Two numbers using Function

#!/bin/bash
function add()
{
x=$1
y=$2
echo "SUM=`expr $x + $y`"
}
echo "ENTER THE FIRST NUMBER: "
read one
echo "ENTER THE SECOND NUMBER: "
read two
add $one $two

Output :

Department of CSE 19 | P a g e
Unix and Shell Programming Lab (CSE-6217L)

14) Various AWK commands/programs using different options, patterns and actions

a) awk '/shahid/ { print}' abbbb


b) awk '{print}' abbbb
c) awk '/shahid/' abbbb
d) awk -F"|" '{print $2,$4}' abbbb

Output :

Department of CSE 20 | P a g e
Unix and Shell Programming Lab (CSE-6217L)

e) awk -F"|" '/sha[hi]*d/' abbbb


f) awk -F"|" '/sha[hi]*d|teacher/' abbbb
g) awk -F"|" '/sha[hi]*d|teacher/ {print $2,$3}' abbbb
h) awk -F"|" '{printf "%-15d %-15s\n",$1*10,$2}' abbb

Output:

Department of CSE 21 | P a g e
Unix and Shell Programming Lab (CSE-6217L)

15) Execution of AWK using files.

BEGIN {
printf "Serial\tEmployeeID\tName\n"
}
{a=a +1; printf "%-10d %-10d %s\n",a,$1,$2}
END {
printf "\n\t total results= %d",a
}
To execute above file use following command:
awk -F"|" -f files.awk abbbb

Output :

Department of CSE 22 | P a g e
Unix and Shell Programming Lab (CSE-6217L)

16) Shell program to find LCM of two numbers

#!/bin/bash
echo "enter first number"
read a
echo "enter second number"
read b
p=`expr $a \* $b`
while [ $b -ne 0 ]
do
r=`expr $a % $b`
a=$b
b=$r
done
LCM=`expr $p / $a`
echo "LCM=$LCM"

Output :

Department of CSE 23 | P a g e
Unix and Shell Programming Lab (CSE-6217L)

18) Shell program to create student database along with various options for
manipulating the data.

i="y"
echo "Enter name of database "
read db
while [ $i = "y" ]
do
clear
echo "1.View the Data Base "
echo "2.View Specific Records "
echo "3.Add Records "
echo "4.Delete Records "
echo "5.Exit "
echo "Enter your choice "
read ch
case $ch in
1)cat $db;;
2)echo "Enter id "
read id
grep -i "$id" $db;;
3)echo "Enter new std id "
read nid
echo "Enter new name:"
read nm
echo "Enter designation "
read des
echo "Enter college name"
read college
echo "$nid $nm $des $college">>$db;;

Department of CSE 24 | P a g e
Unix and Shell Programming Lab (CSE-6217L)

4)echo "Enter Id"


read id
# set -a
# sed '/$id/d' $db>dbs1
grep -v "$id" $db>dbs1
echo "Record is deleted"
cat dbs1;;
5)exit;;
*)echo "Invalid choice ";;
esac
echo "Do u want to continue ?"
read i
if [ $i != "y" ]
then
exit
fi
done

Output :

Department of CSE 25 | P a g e
Unix and Shell Programming Lab (CSE-6217L)

Department of CSE 26 | P a g e

You might also like