108 Unix
108 Unix
Tutorial–1
[06/09/2022 - 10:23.31]~/desktop/unix/demo/d1
[Kevin.DESKTOP-5I719O9]$ cat >> f1
my name is hasti
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
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
Tue October 03 , 12 : 30PM
Tue September 06, 10:26 AM
\
\\\
\\\\\
6.Execute a command to know the kernel version of the operating system you are working on.
[06/09/2022 - 10:26.31]~/desktop/unix/demo
1.7.5(0.225/5/3)
1
TYBCA SEM-5 Div-4 Unix Roll No–108
[06/09/2022 - 10:28.11]~/desktop/unix/demo
cat hasti.exe
How are you?
good or not ?
[06/09/2022 - 10:28.21]~/desktop/unix/demo
ls *.exe
hasti.exe
[06/09/2022 - 10:29.31]~/desktop/unix/demo
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
ls
d1f1 f2 f3 f4 f5 hasti.exe
2
TYBCA SEM-5 Div-4 Unix Roll No–108
12. Display all files from the current directory that have the first and last character as a number.
06/09/2022
~/desktop/unix/demo[Kevin.DESKTOP-
5I719O9]$ create 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 contain only 3 letters.
06/09/2022 - 10:32.19
~/desktop/unix/demo[Kevin.DESKTOP-
5I719O9]$ ls ???
1f0
Kevin
16 -abc
Copy those files that must contain the 3rd character in the file name as a digit to the directory 'xtemp'.
06/09/2022
~/desktop/unix/demo
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
cd xtemp
06/09/2022
~/desktop/unix/demo/xtemp[Kevin.DESKTOP-
5I719O9]$ ls
1f0 as1
3
TYBCA SEM-5 Div-4 Unix Roll No–108
19. Copy the "helix" directory to the "tmp" directory.
[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
cd apache
[06/09/2022 - 10:37.20]~/desktop/unix/demo/xtemp
ls
1f0 as1
4
TYBCA SEM-5 Div-4 Unix Roll No–108
Tutorial–2
1. List the contents of the current directory with file names as numbers.
[28/08/2022 - 14:42.25]~/desktop/unix3
[Kevin.DESKTOP-5I719O9]$ ls | grep -E '^[0-
9]+$'123
3. Remove all files containing a digit as the 2nd letter in their names.
[28/08/2022 - 14:59.40]~/desktop/unix3
Remove files that start with any character followed by a digit.
[28/08/2022 - 15:02.22]~/desktop/unix3
ls
M abcd1
[28/08/2022 - 15:06.33]~/desktop/unix3
c- the moon
[28/08/2022 - 15:09.26]~/desktop/unix3
Kevin.DESKTOP-5I719O9 cat > c1
[28/08/2022 - 15:10.06]~/desktop/unix3
cat > c2
[28/08/2022 - 15:10.12]~/desktop/unix3
[Kevin.DESKTOP-5I719O9]$ cat > c3
[28/08/2022 - 15:10.18]~/desktop/unix3
cat c1 c2 c3
[28/08/2022 - 15:17.21]~/desktop/unix3
the moon
[28/08/2022 - 15:25.01]~/desktop/unix3
Today's date is
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 and sc2 and store the common content in the file result.
~/desktop/unix3
abc def ghi
[29/08/2022 - 15:39.13]~/desktop/unix3
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
abc def
8. Find how many 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 more than 5 characters in their names (the file names having the last two characters as digits).
[28/08/2022 - 15:45.41]~/desktop/unix3
abc12i am abc
[28/08/2022 - 15:48.48]~/desktop/unix3
I am psp
[28/08/2022 - 15:49.44]~/desktop/unix3
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
cp `ls [A-Z]` max
6
TYBCA SEM-5 Div-4 Unix Roll No–108
13. Display only the last accessed file from the current directory.
[29/08/2022 - 13:58.49]~/desktop/unix3
$ ls -t
head -n1vbe
14. Create a file named emp_list containing 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
employee ID
1
2
3
4
[29/08/2022 - 14:10.27]~/desktop/unix3
cp /emp* emp_master2
18. Display the path of the directory where all your mail is stored.
[29/08/2022 - 14:15.02]~/desktop/unix3
[Kevin.DESKTOP-5I719O9]$ echo $MAIL
7
TYBCA SEM-5 Div-4 Unix Roll No–108
structure export
color
|-- dir1
|-- file1.lst
|-- m1
| |-- f1
| | `-- emp.lst
| `-- f2
|
-- menu1.lst
-- m2
| |-- d1
| `-- file123
-- m3
-- abc.php
|-- dir1
-- tmp
-- xyz.java
$ mkdir export
$ cd m1
$ mkdir f1 f2
$ cd f1
heg67g
the universe
$ cd..
$ cd..
8
TYBCA SEM-5 Div-4 Unix Roll No–108
$ cd m2
$ cd ..
$ cd dir2
bdjsbck sdbhbkj
dbbc
$ ls
DFD UNIX asd[0-9]* c2 d1 emp export m2 psp01 sc2 xyz.java
HJKU abc c- c3dir1 emp* fil1.txt m3 sps.php
M abc12 c1 color dir2 emp_listm1 maxx sc1 vbe
20. Copy file emp.lst to tmp directory (in m3 dir) using relative path.
29/08/2022 - 15:37:46
cp m1/f1/emp.txt
m3/f1
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
Copy the content of file emp.lst to file123, make a backup of file 'file123' and rename it to file_bkp.
[29/08/2022 - 15:55.45]~/desktop/unix3/m2
cp file123
backup_file
25. Display the content of the 'export' directory in a manner similar to question 19.
[29/08/2022 - 15:55.57]~/desktop/unix3/m2
The command lists directories in the current path.
tmp
$ dir2/:
$ m1/:
F1
F2
$ m2/: File_bkp
$m3/:
F1
29. Provide the permissions to the file "color" in such a way that only the owner can perform read and write operations while
group members and others can only execute a file.
[29/08/2022 - 16:22.43]~/desktop/unix3
chmod 611
color
10
TYBCA SEM-5 Div-4 Unix Roll No–108
Tutorial–3
1. Write a command to display the content of the top 3 largest files in a.
workingdirectory.
[29/08/2022 - 14:29.19] ~/desktop/unix/pract
ls -s | head -
n2
0 f1
0 f2
9 ]' <f1hii
hello
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 usernames and their home directories from the /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
/home/HastiWDAGUtilityAccount
9. Locate lines of file where the second and second last character of the lines are the same.
[29/08/2022 - 14:50.08]~/desktop/unix/pract
grep
Match any single character followed by the same character later in the string.
11
TYBCA SEM-5 Div-4 Unix Roll No–108
10. Display all lines of files that contain the 'hello' pattern in it.
[29/08/2022 - 14:50.12]~/desktop/unix/pract
grep 'hello' `grep -l
hello
hello
13. List all files in the working directory that have at least 4 characters in their filename.
[29/08/2022 - 14:59.57]~/desktop/unix/pract
[Kevin.DESKTOP-5I719O9]$ find . -maxdepth 1 -type f -name '????*' -print
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
12
TYBCA SEM-5 Div-4 Unix Roll No–108
's/he/she/' f2Hii
HELLO unix is subject she is very annoying this is the life
Unix shell programming Unix is open source Good night
bin
display
bin
display
21. Display those lines having exactly 10 alphabets from file f1.
[31/08/2022 - 12:18.36]~/desktop/unix/pract
grep '^[A-Za-z]
{10}$' f2
22.Copy file content of f1 to file f2 if f1 exists 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 the current directory which have more than 5 links.
[31/08/2022 - 12:23.30]~/desktop/unix/pract
find . -links +5 -
print
25. Replace all occurrences of 'linux OS' with 'unix OS' in file f1.
[31/08/2022 - 12:26.04]~/desktop/unix/pract
sed 's/linux os/unix
os/g' f3kevin
hello
good
morning
byyyy
HELLO unix is subject she is very annoying this is the life
unix shell programming unix is open source Good night
bin
display
bin
display
27. Display the names of all files in the working directory that have the 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
29.Write a sed command to extract the first word of each line. Assuming that there is no whitespace character at the beginning of the line.
[31/08/2022 - 12:35.55]~/desktop/unix/pract
[Kevin.DESKTOP-5I719O9]$ sed 's/ .*/ /g' f3
kevin
hello goodbye
HELLOunix
she
this unix unix Good
bin bin
31. Display only those lines of file f1 having a length 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 a subject she is very.
annoying this is the life
unix is open
Good
night
bin
display
bin
display
33.Replace all occurrences of “hi” with “hi” and “she” 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
~/desktop/unix/pract[KEVIN.DESKTOP-
5I719O9]$ sed 's/he/she/' f2Hii
HELLO unix is subject she is very annoying this is the life
unix shell programming unix is open source Good night
bin
display
bin
display
14
TYBCA SEM-5 Div-4 Unix Roll No–108
34. Count the number of words and lines in files whose filename begins with x.
31/08/2022 - 12:40.29 ~/desktop/unix/pract
find . -maxdepth 1 -type f -name 't*' -exec wc -wl {} \;
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 the rev() function, applying proper validation.
vi reverse.sh
Enter a String:
a
if test -z "$str"
then
String is Null
else
len=${#str}
reverse string is:
while[$len-greater-than-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:k e v i n
5. Write a shell script to find a file with maximum size in the current directory, also print the number of words, characters, and
lines along with the content of the file
fname=`ls -lS | tr -s " " | grep '^- ' | cut -d ' ' -f 9 | head -n 1`
File with max size is : $fname
this is Contents of $fname :
*contents start*
============================================
echo
cat $fname
============================================
*contents end*
echo
echo
Total number of lines in $fname = `wc -l < $fname`
Total number 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`
File with max size is : $fname
this is Contents of $fname :
*contents start*
============================================
echo
16
TYBCA SEM-5 Div-4 Unix Roll No–108
cat $fname
============================================
*contents end*
echo
echo
Total number of lines in $fname = `wc -l < $fname`
echo "Total number of words in $fname = `wc -w < $fname`"
Total number of characters in $fname = `wc -c < $fname`
============================================
*contents end*
Total number of lines in script.sh = 16
Total number of words in script.sh = 94
Total number of characters in script.sh = 561
6. Write a shell script that functions as a calculator (input the values via command line arguments)
a=$1
b=$2
number one is:$a
number two is:$b
Enter Choice :
1. Addition
2. Subtraction
3. Multiplication
4. Division
read ch
10-20
-10
17
TYBCA SEM-5 Div-4 Unix Roll No–108
7 Write a shell script that checks if an entered user is valid or not.
Q-8) Write an awk script to print fields 2, 3, 4, and 6 from the test.txt file that contains the pattern 'unix'.
Q-9) Write an awk script that displays the first two words of each line of the file f1
18
TYBCA SEM-5 Div-4 Unix 108
Q-10) Write an awk script which prints file contents from bottom to top
OR
Write an awk script which prints the frequency of each word in the input file.
Note: Suggestions are invited
‘{
line[NR]=$0
}
END{
for(i=NR;i>=1;i--)
print line[i]
}’ f6
swap
parth
universe
akshit
19
TYBCA SEM-5 Div-4 Unix Roll No–108
20