0% found this document useful (0 votes)
2K views

108 Unix

The document contains instructions for various commands in Unix/Linux. It shows the commands being executed along with their outputs. Some key things demonstrated include: - Creating directories and files - Displaying contents of current directory - Copying, moving and deleting files - Finding files based on patterns in their names - Comparing and getting common contents between files - Editing files using vi editor

Uploaded by

Kevin Patel
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2K views

108 Unix

The document contains instructions for various commands in Unix/Linux. It shows the commands being executed along with their outputs. Some key things demonstrated include: - Creating directories and files - Displaying contents of current directory - Copying, moving and deleting files - Finding files based on patterns in their names - Comparing and getting common contents between files - Editing files using vi editor

Uploaded by

Kevin Patel
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 20

TYBCA SEM-5 Div-4 Unix Roll No – 108

Tutorial – 1

1. Display the content of current directory.


[06/09/2022 - 10:23.01] ~/desktop/unix/demo
[Kevin.DESKTOP-5I719O9]$ mkdir d1

[06/09/2022 - 10:23.21] ~/desktop/unix/demo


[Kevin.DESKTOP-5I719O9]$ cd d1

[06/09/2022 - 10:23.31] ~/desktop/unix/demo/d1


[Kevin.DESKTOP-5I719O9]$ cat >> f1
my name is hasti

2. Show calender of january 1980. [06/09/2022 - 10:25.08]


~/desktop/unix/demo [Kevin.DESKTOP-5I719O9]$ cal 1 1980
January 1980
Su Mo Tu We Th
Fr Sa1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

3. show the current working directory. [06/09/2022 - 10:25.19]


~/desktop/unix/demo [Kevin.DESKTOP-5I719O9]$ pwd
/drives/C/Users/Hasti/Desktop/unix/t1

4. Display date and time in format shown in brackets ( Sun June 19,11:40 PM )
[06/09/2022 - 10:25.41] ~/desktop/unix/demo
[Kevin.DESKTOP-5I719O9]$ date +"%a %B %d , %I : %M%p"
Tue September 06 , 10 : 26AM

5. Display the below pattern with echo command


\
\ \ \
\ \ \ \ \
[06/09/2022 - 10:26.06] ~/desktop/unix/demo
[Kevin.DESKTOP-5I719O9]$ echo -e " \\ \n \\ \\ \\ \n \\ \\ \\ \\ \\"
\
\\\
\\\\\

6. Execute a command to know the kernel version of operating system you are working on.
[06/09/2022 - 10:26.31] ~/desktop/unix/demo
[Kevin.DESKTOP-5I719O9]$ uname -r 1.7.5(0.225/5/3)

7. Execute a command to know your terminal.


[06/09/2022 - 10:26.56]~/desktop/unix/demo
[Kevin.DESKTOP5I719O9]$ uname CYGWIN_NT-6.2-
WOW64

1
TYBCA SEM-5 Div-4 Unix Roll No – 108

8. Execute a command to identify all executables in current working directory.


[06/09/2022 - 10:27.16] ~/desktop/unix/demo
[Kevin.DESKTOP-5I719O9]$ cat > hasti.exe
how are you ?
good or not ?

[06/09/2022 - 10:28.11] ~/desktop/unix/demo


[Kevin.DESKTOP-5I719O9]$ cat hasti.exe
how are you ?
good or not ?

[06/09/2022 - 10:28.21] ~/desktop/unix/demo


[Kevin.DESKTOP-5I719O9]$ ls *.exe
hasti.exe

9. Display a sorted list of files by last access time.


[06/09/2022 - 10:28.33] ~/desktop/unix/demo
[Kevin.DESKTOP-5I719O9]$ ls -ltu
total 1
-rwxr-xr-x 1 Hasti Domain U 28 Sep 6 10:28 hasti.exe
drwxr-xr-x 1 Hasti Domain U 0 Sep 6 10:23 d1

10. create five files named f1 to f5.


[06/09/2022 - 10:28.51] ~/desktop/unix/demo
[Kevin.DESKTOP-5I719O9]$ cat > f1
hoiii

[06/09/2022 - 10:29.31] ~/desktop/unix/demo


[Kevin.DESKTOP-5I719O9]$ cat >f2 byyyyyy

[06/09/2022 - 10:29.41] ~/desktop/unix/demo


[Kevin.DESKTOP-5I719O9]$ cat >f3
hello

[06/09/2022 - 10:29.48] ~/desktop/unix/demo


[Kevin.DESKTOP-5I719O9]$ cat >f4
good morning

[06/09/2022 - 10:30.06] ~/desktop/unix/demo


[Kevin.DESKTOP-5I719O9]$ cat >f5
apple

[06/09/2022 - 10:30.17] ~/desktop/unix/demo


[Kevin.DESKTOP-5I719O9]$ ls
d1 f1 f2 f3 f4 f5 hasti.exe

11. copy the content of f1 and f2 into f3.


[06/09/2022 - 10:30.30] ~/desktop/unix/demo
[Kevin.DESKTOP-5I719O9]$ cat f1 f2>f3

[06/09/2022 - 10:31.32] ~/desktop/unix/demo


[Kevin.DESKTOP-5I719O9]$ cat f3
hoiii
byy
yyy
y

2
TYBCA SEM-5 Div-4 Unix Roll No – 108

12. display all files from current directory having first and last character as number.
[06/09/2022 - 10:31.41]
~/desktop/unix/demo [Kevin.DESKTOP-
5I719O9]$ touch 1f0 1sp2

[06/09/2022 - 10:32.07]
~/desktop/unix/demo [Kevin.DESKTOP-
5I719O9]$ ls [0-9]*[0-9]
1f0 1sp2

13. display the list of all file names that contains only 3 latters.
[06/09/2022 - 10:32.19]
~/desktop/unix/demo[Kevin.DESKTOP-
5I719O9]$ ls ???
1f0

14. create a file named "-abc" in current working directory.


[ 09/09/2022 - 10:32.40] ~/desktop/unix/Kevin
[Kevin.DESKTOP-7GLGQEA]$ cat > -abc hii hello
Kevin

15. count the number of characters of file "-abc".


[06/09/2022 - 10:33.10] ~/desktop/unix/demo
[Kevin.DESKTOP-5I719O9]$ wc -c -- -abc
16 -abc

16. rename file "ex1" to "as1".


[06/09/2022 - 10:34.09] ~/desktop/unix/demo
[Kevin.DESKTOP-5I719O9]$ mv ex1 as1

17. copy those files that must contains 3rd character in the file name as digit to the directory "xtemp".

[06/09/2022 - 10:34.28]
~/desktop/unix/demo
[Kevin.DESKTOP5I719O9]$ mkdir
xtemp

[06/09/2022 - 10:35.13] ~/desktop/unix/demo


[Kevin.DESKTOP-5I719O9]$ cp ??[0-9]* ./xtemp

[06/09/2022 - 10:35.21] ~/desktop/unix/demo


[Kevin.DESKTOP-5I719O9]$ cd xtemp

[06/09/2022 - 10:35.31]
~/desktop/unix/demo/xtemp [Kevin.DESKTOP-
5I719O9]$ ls
1f0 as1

18. create directory named "helix", "apache".


[12/08/2022 - 12:17.57]
/drives/d/tybca316/unix/d1/xtemp [Kevin.DESKTOP-
5I719O9] $ mkdir helix apache

3
TYBCA SEM-5 Div-4 Unix Roll No – 108
19. copy the "helix" directory to "tmp" directory.
[06/09/2022 - 10:36.07] ~/desktop/unix/demo/xtemp
[Kevin.DESKTOP-5I719O9]$ cp -R helix tmp

20. move those files having last character as digit to the


"apache".[06/09/2022 - 10:36.07] ~/desktop/unix/demo/xtemp
[Kevin.DESKTOP-5I719O9]$ cp -R helix tmp

[06/09/2022 - 10:37.00] ~/desktop/unix/demo/xtemp


[Kevin.DESKTOP-5I719O9]$ cd apache

[06/09/2022 - 10:37.20] ~/desktop/unix/demo/xtemp


[Kevin.DESKTOP-5I719O9]$ ls
1f0 as1

21. remove file "-abc".


[06/09/2022 - 10:37.49] ~/desktop/unix/demo/xtemp
[Kevin.DESKTOP-5I719O9]$ rm -- -abc

4
TYBCA SEM-5 Div-4 Unix Roll No – 108

Tutorial – 2
1. list the content of currrent directory having file names as number.
[28/08/2022 - 14:42.25] ~/desktop/unix3
[Kevin.DESKTOP-5I719O9] $ ls | grep -E '^[0-
9]+$'123

2. display the filename containing only alphabats as a names.


[28/08/2022 - 14:56.18] ~/desktop/unix3
[Kevin.DESKTOP-5I719O9] $ ls | grep -E '^[a-z A-
Z]+$'abc

3. remove all files containing digit as the 2nd latter as their names.
[28/08/2022 - 14:59.40] ~/desktop/unix3
[Kevin.DESKTOP-5I719O9] $ rm ?[0-9]*
rm: d1: is a directory

[28/08/2022 - 15:02.22] ~/desktop/unix3


[Kevin.DESKTOP-5I719O9] $ ls
M abc d1

4. create the file named " asd[0-9]".


[28/08/2022 - 15:32.31] ~/desktop/unix3
[Kevin.DESKTOP-5I719O9] $ cat
>asd\[0-9]\*hello everyone

5. copy the content of file c- to c1,c2,c3.

[28/08/2022 - 15:06.33] ~/desktop/unix3


[Kevin.DESKTOP-5I719O9] $ cat > c- the moon

[28/08/2022 - 15:09.26] ~/desktop/unix3


[Kevin.DESKTOP-5I719O9] $ cat > c1

[28/08/2022 - 15:10.06] ~/desktop/unix3


[Kevin.DESKTOP-5I719O9] $ cat > c2

[28/08/2022 - 15:10.12] ~/desktop/unix3


[Kevin.DESKTOP-5I719O9] $ cat > c3

[28/08/2022 - 15:10.18] ~/desktop/unix3


[Kevin.DESKTOP-5I719O9] $ cat c1 c2 c3
> c-

[28/08/2022 - 15:17.21] ~/desktop/unix3


[Kevin.DESKTOP-5I719O9] $ cat c1 the moon

6. display the date in the following format .


e.g. "Today's date is : Sat Jul 30 15:25:31 IST 2011"

[28/08/2022 - 15:25.01] ~/desktop/unix3


[Kevin.DESKTOP-5I719O9] $ echo "Today's date is
`date`"Today's date is Sun Aug 28 15:28:23 IST 2022

5
TYBCA SEM-5 Div-4 Unix Roll No – 108

7. compare 2 files named sc1, sc2 and store the common content in file result.
[28/08/2022 - 15:33.50] [29/08/2022 - 15:33.50] ~/desktop/unix3
[Kevin.DESKTOP-7GLGQEA] $ cat > sc1 abc def ghi

[29/08/2022 - 15:39.13] ~/desktop/unix3


[Kevin.DESKTOP-7GLGQEA] $ cat > sc2 abc def jkl

[29/08/2022 - 15:39.28] ~/desktop/unix3


[Kevin.DESKTOP-7GLGQEA] $ comm -1 -2 sc1 sc2>result

[29/08/2022 - 15:42.17] ~/desktop/unix3


[Kevin.DESKTOP-7GLGQEA] $ cat result abc def

8. find how many number of lines from sc1 and sc2 are common.
[28/08/2022 - 15:42.27] ~/desktop/unix3
[Kevin.DESKTOP-5I719O9] $ comm -1 -2 sc1 sc2 |
wc -l2

9. display only those files containing the more then 5 character as there names ( the file names having last two characters as digit).
[28/08/2022 - 15:45.41] ~/desktop/unix3
[Kevin.DESKTOP-5I719O9] $ cat > abc12i am abc

[28/08/2022 - 15:48.48] ~/desktop/unix3


[Kevin.DESKTOP-5I719O9] $ cat > psp01i am psp

[28/08/2022 - 15:49.44] ~/desktop/unix3


[Kevin.DESKTOP-5I719O9] $ ls ???[0-9][0-9]
abc12 psp01

10. create the directory named "maxx" and copy all files having only capital letters.
[29/08/2022 - 14:14.09] ~/desktop/unix3
[Kevin.DESKTOP-5I719O9] $ cp `ls [A-Z]` max

11. create a file named emp* [28/08/2022 - 21:41.34]


~/desktop/unix3 [Kevin.DESKTOP-5I719O9] $ cat > emp\*

[28/08/2022 - 21:43.16] ~/desktop/unix3[Kevin.DESKTOP-5I719O9] $ ls


M abc12 c- c2 d1 psp01 sc1
abc asd[0-9]* c1 c3 emp* result sc2

12. make a list of employee in following order ( use vi


editor ).empid empname post
1 abcd programmer
2 xyz manager

[29/08/2022 - 13:50.45] ~/desktop/unix3[Kevin.DESKTOP-5I719O9] $ cat emp empid |empname |post


1| awer | manager
2| sdfg | employee
3| rtyy | director
4| jbyg | programmer

6
TYBCA SEM-5 Div-4 Unix Roll No – 108

13. display only the last accessed file from current directory.
[29/08/2022 - 13:58.49] ~/desktop/unix3
[Kevin.DESKTOP-5I719O9] $ ls -t|
head -n1vbe

14. create file named emp_list having empid and date of joining.
[29/08/2022 - 14:09.27] ~/desktop/unix3
[Kevin.DESKTOP-5I719O9] $ cut -d"|" -f1,4 emp > emp_list

[29/08/2022 - 14:10.01] ~/desktop/unix3


[Kevin.DESKTOP-5I719O9] $ cat emp_list
empid
1
2
3
4

15. copy the content of file "emp*" in emp_master1,emp_master2


[29/08/2022 - 14:10.27] ~/desktop/unix3
[Kevin.DESKTOP-5I719O9] $ cp /emp* emp_master1

[29/08/2022 - 14:10.27] ~/desktop/unix3


[Kevin.DESKTOP-5I719O9] $ cp /emp* emp_master2

16. rename file emp_master2 to backup_emp


[29/08/2022 - 14:12.23] ~/desktop/unix3
[Kevin.DESKTOP-5I719O9] $ mv emp_master2 backup_emp

17. remove file "emp*"


[29/08/2022 - 14:13.13] ~/desktop/unix3
[Kevin.DESKTOP-5I719O9] $ rm /emp*

18. display the path of the directory where all your mail are stored.
[29/08/2022 - 14:15.02] ~/desktop/unix3
[Kevin.DESKTOP-5I719O9] $ echo $MAIL

7
TYBCA SEM-5 Div-4 Unix Roll No – 108

19. create the following

structureexport
|-- color
|-- dir1
|-- file1.lst
|-- m1
| |-- f1
| | `-- emp.lst
| `-- f2
|
`-- menu1.lst
|-- m2
| |-- d1
| `-- file123
`-- m3
|-- abc.php
|-- dir1
| `-- tmp
`-- xyz.java
$ mkdir export

$ mkdir color dir1 m1 m2 m3 dir2

$ cat > fil1.txtnjgghvfd


mjnuubyb hhfubdy
,nygyrf7h
h8er7ge

$ cd m1

$ mkdir f1 f2

$ cd f1

$ cat > emp.txtmbbdfj


huberu
wejfyg
heg67g
dygnuhu

$ cd..

$ cd..

$ cat > menu.txt123


123 abdft j7tji rtfni
$
c
d
m
2

8
TYBCA SEM-5 Div-4 Unix Roll No – 108

$ cd m2

$ cat > file123


mnbgudsj
hdyrjeg ufuh
nysegjke
setr7hie

$ cat > file123


mnbgudsj
hdyrjeg ufuh
nysegjke
setr7hie

$ cd ..

$ cat > sps.php


khuegurj
nhsdguhifh
hdyusgfun

$ cd dir2

$ cat > tmp


bugsugufds
bhfaygdka hfdugc
jgdyfu

$ cat > xyz.java


nfhfyg mmbnnn
bdjsbck sdbhbkj
dbbc

$ ls
DFD UNIX asd[0-9]* c2 d1 emp export m2 psp01 sc2 xyz.java
HJKU abc c- c3 dir1 emp* fil1.txt m3 result sps.php
M abc12 c1 color dir2 emp_list m1 maxx sc1 vbe

20. copy file emp.lst to tmp directory ( in m3 dir ) using relative path.
[29/08/2022 - 15:37.46] ~/desktop/unix3
[Kevin.DESKTOP-5I719O9] $ cp m1/f1/emp.txt
m3/f1

21. protect the directory "export" against unauthorized access.


[29/08/2022 - 15:52.35] ~/desktop/unix3
[Kevin.DESKTOP-5I719O9] $ chmod 730
export

22. allow only read access to file emp.lst.


[29/08/2022 - 15:53.31] ~/desktop/unix3
[Kevin.DESKTOP-5I719O9] $ chmod 555
emp.txt

23. assign write permission only for group members and the rest permissions remain intact for the directory "d1".
[29/08/2022 - 15:54.10] ~/desktop/unix3
[Kevin.DESKTOP-5I719O9] $ chmod 424 d1

9
TYBCA SEM-5 Div-4 Unix Roll No – 108

24. copy the content of file emp.lst to file123, make back up of file 'file123' and rename it with file_bkp
[29/08/2022 - 15:55.45] ~/desktop/unix3/m2
[Kevin.DESKTOP-5I719O9] $ cp file123
file_bkp

25. display the content of "export" directory in a way like question-19


[29/08/2022 - 15:55.57] ~/desktop/unix3/m2
[Kevin.DESKTOP-7GLGQEA] $ ls -1d */ -x $ color/:
$ dir1/: tmp
$ dir2/:
$ m1/:
F1
F2
$ m2/: File_bkp
$m3/:
F1

26. display last modified file.


[29/08/2022 - 16:01.11] ~/desktop/unix3
[Kevin.DESKTOP-5I719O9] $ ls -1t |
head -n1m2

27. make archive file of all the files having .lst


extension[29/08/2022 - 16:19.25] ~/desktop/unix3
[Kevin.DESKTOP-5I719O9] $ find . -name "*.lst"

28. move all .lst files to tmp directory


[29/08/2022 - 16:20.17] ~/desktop/unix3
[Kevin.DESKTOP-5I719O9] $ mv '*.lst'
/dir2/tmp

29. provide the permissions to the file "color" in such a way that only the owner can perform read and write operation while
groupmembers and others can only execute a file.
[29/08/2022 - 16:22.43] ~/desktop/unix3
[Kevin.DESKTOP-5I719O9] $ chmod 611
color

30. change the ownership of file "tmp" to root


$ $sudoPass:
#chown hasti root
tmp#exit
$

10
TYBCA SEM-5 Div-4 Unix Roll No – 108

Tutorial – 3
1. write a command to display content of top 3 largest file in a
workingdirectory.
[29/08/2022 - 14:29.19] ~/desktop/unix/pract
[Kevin.DESKTOP-5I719O9]$ ls -s | head -
n2
0 f1
0 f2

2. Count no. of words in lines 1 through 2 of file f1.txt.


[29/08/2022 - 14:33.17] ~/desktop/unix/pract
[Kevin.DESKTOP-5I719O9]$ sed -n '1,2p' f1 | wc -w
2

3. Display all filenames not beginning with “.”.


[29/08/2022 - 14:35.57] ~/desktop/unix/pract
[Kevin.DESKTOP-5I719O9]$ ls |grep ^[^.]
f1
f2

4. delete all special characters from file f1.


[29/08/2022 - 14:36.09] ~/desktop/unix/pract
[Kevin.DESKTOP-5I719O9]$ tr -cd '[a-zA-Z0-
9\n]' <f1hii
hello

5. Display i-node no of all files of current directory.


[29/08/2022 - 14:38.43] ~/desktop/unix/pract
[Kevin.DESKTOP-5I719O9]$ ls -i
9851624184977260 f1 19984723346472289 f2 16888498602744989 f3 18295873486298472 f4

6. Display those lines of file f1 that contains exactly 20 characters in it.


[29/08/2022 - 14:40.20] ~/desktop/unix/pract
[Kevin.DESKTOP-5I719O9]$ grep -E
'^.{20}' f2
unix shell programming

7. Replace 'hello' with “HELLO” in input file finish and write those lines to output file fout.sh
[29/08/2022 - 14:44.51] ~/desktop/unix/pract
[Kevin.DESKTOP-5I719O9]$ cat f2
HELLO

8. extract all username and their home directory form /etc/passwd file.
[29/08/2022 - 14:44.58] ~/desktop/unix/pract
[Kevin.DESKTOP-5I719O9]$ cat /etc/passwd | cut -d ':' -f 1,6
SYSTEM:LocalService:NetworkService:
Administrators:Administrator:/home/Administrator DefaultAccount:/home/DefaultAccountGuest:/home/Guest
Hasti:/home/Hasti WDAGUtilityAccount:/home/WDAGUtilityAccount

9. Locate lines of file where the second and second last character of the lines are same.
[29/08/2022 - 14:50.08] ~/desktop/unix/pract
[Kevin.DESKTOP-5I719O9]$ grep
'^.\(.\).*\1.$' f2
Unix shell programming

11
TYBCA SEM-5 Div-4 Unix Roll No – 108

10. Display all lines of files that contains “hello” pattern in it.
[29/08/2022 - 14:50.12] ~/desktop/unix/pract
[Kevin.DESKTOP-5I719O9]$ grep 'hello' `grep -l
'hello' *`f1:hello
f3:hello

11. Display all lines having “g*” pattern


in it.[29/08/2022 - 14:53.09]
~/desktop/unix/pract [Kevin.DESKTOP-
5I719O9]$ grep 'g\*' f3

12. Change modification time of file to Dec 25, 10:30


AM.[29/08/2022 - 14:54.47] ~/desktop/unix/pract
[Kevin.DESKTOP-5I719O9]$ touch -t 08261957f1

13. List all files of working directory having at least 4 characters in filename.
[29/08/2022 - 14:59.57] ~/desktop/unix/pract
[Kevin.DESKTOP-5I719O9]$ find . -maxdepth 1 -type f -name '????*' -print

14. Execute a command to run a script hello.sh at tea time.

15. Replace multiple spaces with a single space in file f1.


[29/08/2022 - 15:23.48] ~/desktop/unix/pract
[Kevin.DESKTOP-7GLGQEA]$ tr -s ' ' < f1 hii hello

16. Write a unix command to evalute an expression : 4*3.14+6


[29/08/2022 - 15:24.15] ~/desktop/unix/pract
[Kevin.DESKTOP-5I719O9]$ awk 'BEGIN {print
4*3.14+6}'18.56

17. write a command to display all unique words of


file f1.[31/08/2022 - 12:09.29] ~/desktop/unix/pract
[Kevin.DESKTOP-5I719O9]$ tr ' ' '\n' <f1 | sort | uniq -u
hello
hii

18. Write a command to locate lines that begin and end with (.).
[31/08/2022 - 12:09.46] ~/desktop/unix/pract
[Kevin.DESKTOP-5I719O9]$ grep '^\..*\.$' f2

19. write a command to display all lines that contains 2 or more ^


symbol atbeginning of line.
[31/08/2022 - 12:12.24] ~/desktop/unix/pract
[Kevin.DESKTOP-5I719O9]$ grep -E
'^\^{2,}' f1

20. Write a command to replace all occurrences of “he” with “she” and “hello” with “hi” in file f1.
[31/08/2022 - 12:17.15] ~/desktop/unix/pract
[Kevin.DESKTOP-5I719O9]$ sed 's/he/she/' -e 's/hello/hii/' f1
sed: s/he/she/: No such file or directory
Hi
Hi
[31/08/2022 - 12:18.05] ~/desktop/unix/pract

12
TYBCA SEM-5 Div-4 Unix Roll No – 108

[Kevin.DESKTOP-5I719O9]$ sed
's/he/she/' f2Hii
HELLOunix is subjectshe is very anoying this is tshe life
unix sshell programmingunix is open source Good night
bin
display
bin
display

21. Display those lines having exactly 10 alphabates from file f1.
[31/08/2022 - 12:18.36] ~/desktop/unix/pract
[Kevin.DESKTOP-5I719O9]$ grep '^[A-Za-z]
\{10\}$' f2

22. Copy file content of f1 to file f2 if f1 exist otherwise write error message to file f2.
[31/08/2022 - 12:19.48] ~/desktop/unix/pract
[Kevin.DESKTOP-5I719O9]$ cp f1 f2

23. Search those files from current directory which have more than 5 links.
[31/08/2022 - 12:23.30] ~/desktop/unix/pract
[Kevin.DESKTOP-5I719O9]$ find . -links +5 -
print

24. Display lines of file f1 that do not contain digit


in it.[31/08/2022 - 12:23.33] ~/desktop/unix/pract
[Kevin.DESKTOP-5I719O9]$ grep -v '[0-9]' f2
hi hello

25. Replace all occurrences of “linux OS” with “unix OS” in file f1.
[31/08/2022 - 12:26.04] ~/desktop/unix/pract
[Kevin.DESKTOP-5I719O9]$ sed 's/linux os/unix
os/g' f3kevin

hello
good
morning
byyyy
HELLOunix is subjectshe is very anoying this is tshe life
unix sshell programmingunix is open source Good night
bin
display
bin
display

26. Display all line of file f1 having 3rd word as


'user'.[31/08/2022 - 12:36.23] ~/desktop/unix/pract
[Kevin.DESKTOP-5I719O9]$ grep '^[^ ]* [^ ]* user'
f2

27. Display name of all files of working directory having pattern “The”.
[31/08/2022 - 12:27.00] ~/desktop/unix/pract
[Kevin.DESKTOP-5I719O9]$ grep -l 'The' *

28. Display lines of file f1 that begin with any capital letter.
[31/08/2022 - 12:35.32] ~/desktop/unix/pract

13
TYBCA SEM-5 Div-4 Unix Roll No – 108

[Kevin.DESKTOP-5I719O9]$ grep '^[A-Z]' f3


kevin HELLOunix is subjectGood night

29. Write a sed command to extract first word of each line. Assuming that there is no white space character at beginning of line.
[31/08/2022 - 12:35.55] ~/desktop/unix/pract
[Kevin.DESKTOP-5I719O9]$ sed 's/ .*/ /g' f3
kevin
hello good byyyy
HELLOunix
she
this unix unix Good
bin bin

30. What does the following command do?grep f1 f2 f3

31. display only those lines of file f1 having length in between 30 to 50 characters.
[31/08/2022 - 12:39.07] ~/desktop/unix/pract
[Kevin.DESKTOP-5I719O9]$ grep
'^.\{10,20\}$' f3Gujan saxena
good morning HELLOunix is subjectshe is very
anoying this is tshe life
unix is open
sourceGood
night
bin
display
bin
display

32. Display binary value of 12 using bc

33. Replace all occurrences of “hello” with “hi” and “he” with “she”.
[31/08/2022 - 12:17.15] ~/desktop/unix/pract
[KEVIN.DESKTOP-5I719O9]$ sed 's/he/she/' -e
's/hello/hii/' f1sed: s/he/she/: No such file or directory /
hi HI

[31/08/2022 - 12:18.05]
~/desktop/unix/pract [KEVIN.DESKTOP-
5I719O9]$ sed 's/he/she/' f2Hii
HELLOunix is subjectshe is very anoying this is tshe life
unix sshell programmingunix is open source Good night
bin
display
bin
display

14
TYBCA SEM-5 Div-4 Unix Roll No – 108

34. Count number of words and lines of files whose filename begins with x.
[31/08/2022 - 12:40.29] ~/desktop/unix/pract
[Kevin.DESKTOP-5I719O9]$ find . -maxdepth 1 -type f -name 't*' -exec wc -wl {} \;

35. Write equivalent sed command of “sed '1,5d'


f1”.[31/08/2022 - 12:41.19] ~/desktop/unix/pract
[Kevin.DESKTOP-5I719O9]$ sed -n '1,5!p' f3
HELLOunix is subject
she is very anoyingthis is tshe life
unix sshell programmingunix is open source Good night
bin
display
bin
display

36. Write equivalent IRE for the following regular expression


- A*
- A?
[31/08/2022 - 12:42.35]
~/desktop/unix/pract [Kevin.DESKTOP-
5I719O9]$ grep 'A\{1,\}' f3

15
TYBCA SEM-5 Div-4 Unix Roll No – 108

Tutorial – 4

4. Write a shell script to accept a string and reverse it without using rev() function, apply proper validation
vi reverse.sh
echo -n "Enter a String: "
read str k="a"
if test -z "$str"
then
echo "String is Null"
else
len=${#str}
printf "reverse string is:"
while [ $len -gt 0 ]
do
echo -n "`echo $str | cut -c $len`"
len=`expr $len - 1`
done
echo
fi
~
~
[10/09/2022 - 22:41.53] ~/desktop/unix/kevin
[Kevin.DESKTOP-7GLGQEA] $ sh reverse.sh
Enter a String:kevin
reverse string is:nivek

5.Write a shell script to find a file with maximum size in the current directory, also print the no of words, characters, and
lines along with the content of file

fname=`ls -lS | tr -s " " | grep '^-' | cut -d ' ' -f 9 | head -n 1`
echo "File with max size is : $fname"
echo "this is Contents of $fname : "
echo " *contents start* "
echo "============================================"
echo
cat $fname
echo "============================================"
echo " *contents end* "
echo
echo
echo "Total no of lines in $fname = `wc -l < $fname`"
echo "Total no of words in $fname = `wc -w < $fname`"
File with max size is : script.sh
this is Contents of script.sh :

//contents start

fname=`ls -lS | tr -s " " | grep '^-' | cut -d ' ' -f 9 | head -n 1`
echo "File with max size is : $fname"
echo "this is Contents of $fname : "
echo " *contents start* "
echo "============================================"
echo

16
TYBCA SEM-5 Div-4 Unix Roll No – 108
cat $fname
echo "============================================"
echo " *contents end* "
echo
echo
echo "Total no of lines in $fname = `wc -l < $fname`"
echo "Total no of words in $fname = `wc -w < $fname`"
echo "Total no of characters in $fname = `wc -c < $fname`"
============================================
*contents end*
Total no of lines in script.sh = 16
Total no of words in script.sh = 94
Total no of characters in script.sh = 561

6.Write a shell script which works like a calculator(enter the values via command line argument)
a=$1
b=$2
echo "number one is: $a"
echo "number two is: $b"
echo "Enter Choice :"
echo "1. Addition"
echo "2. Subtraction"
echo "3. Multiplication"
echo "4. Division"
read ch

case $ch in 1)res=`echo $a + $b | bc`


;;
2)res=`echo $a - $b | bc`
;;
3)res=`echo $a \* $b | bc`
;;
4)res=`echo "scale=2; $a / $b" | bc`
;;
esac
echo "Result : $res"
~
[10/09/2022 - 23:03.32] ~/desktop/unix/kevin
[Kevin.DESKTOP-7GLGQEA] $ sh calc.sh 10 20
number one is: 10
number two is: 20
Enter Choice :
1. Addition
2. Subtraction
3. Multiplication
4. Division

Result : 10 – 20
-10

17
TYBCA SEM-5 Div-4 Unix Roll No – 108
7 Write a shell script which checks whether an entered user is valid or not.

echo "Enter User Name";


read uname
set `who | grep $uname`
if [ $# -eq 0 ]
then
echo $uname "is Not Valid User! ";
else
echo $uname "is Valid User";
fi
~
~
[10/09/2022 - 23:03.32] ~/desktop/unix/kevin
[Kevin.DESKTOP-7GLGQEA] Enter User Name
Kevin

Q-8) Write an awk script to print the fields 2,3,4 and 6 from test.txt file which contains the pattern ‘unix’

kevin@kevin-VirtualBox:~/kevin/demo$ awk -F" " '/Unix/{print $2,$3,$4,$6}' test.txt


temporincididuntut et
quisnostrud exercitation laboris
Unix Duisautedolor
dolore Unix eunulla
proident, sunt in qui
Unixipsumdoloramet,
Unixnostrud exercitation laboris
Unix Duisautedolor
cillumdoloreeunulla
proident, sunt in qui

Q-9) Write an awk script that displays first two-words of each line of the file f1

kevin@kevin-VirtualBox:~/kevin/demo$ awk '{print $1,$2}' test.txt


Loremipsum
Unixtempor
Unixquis
consequat. Unix
cillumdolore
Unixproident,
LoremUnix
temporincididunt
quis Unix
consequat. Unix
Unixcillum
Unixproident,

18
TYBCA SEM-5 Div-4 Unix Roll No – 108
Q-10) Write an awk script which prints file contentsbottom to top
OR
Write an awk script which print frequency of eachword in the input file
Note: Suggestions are invited
‘{
line[NR]=$0
}
END{
for(i=NR;i>=1;i--)
print line[i]
}’ f6
swap
parth
vishv
akshit

19
TYBCA SEM-5 Div-4 Unix Roll No – 108

20

You might also like