You are on page 1of 5

Họ và Tên: Lê Tuấn Đạt

Mã sinh viên: 21020137

Bài 1:
a,
Lệnh:
vi hoclai
vi dklandau
grep "Hoc Lai" hovaten > hoclai
grep "DK lan dau" hovaten > dklandau

b,
Lệnh: awk -F'\t' '{print $(NF-1)}' hovaten | sort -u > lopkhoahoc
c,
Lệnh: grep "Anh" hovaten
Lệnh: grep "2003\>" hovaten

d,
Lệnh: grep -v 'QH-2020' hovaten > danhsacha

e,
Lệnh: sed 's/Anh/Em/g' hovaten > danhsachb
f,
vi testsnt //Tạo file test số nguyên tố
Insert vào file:
#!/bin/bash

testsnt() { #Ham kiem tra SNT


num=$1
if [ $num -lt 2 ]; then # Neu so nho hon 2 thi khong phai snt
return 1
fi

for ((i=2; i*i<=num; i++)); do # vong lap tu 2 den can bac2 cua num
if [ $((num % i)) -eq 0 ]; then # Neu num chia het cho i thi num khong phai snt
return 1
fi
done
return 0 # Neu num khong chia het cho so i nao thi num la snt
}
#Dung awk de lay MaSV tu file hovaten
awk -F'\t' '{print $2}' hovaten | while read -r line; do
if [[ $line =~ ^[0-9]+$ ]]; then # kiem tra line xem co phai snt khong
testsnt "$line" # Goi ham testsnt de kiem tra xem co phai snt khong
if [ $? -eq 0 ]; then # Neu la snt testsnt tra ve 0
grep "$line" hovaten # In ra dong tuong ung trong hovaten
fi
fi
done
chmod +x testsnt // Cấp quyền cho file
./testsnt // Chạy file

Bài 2:
Lệnh:
Vi code // Tạo file code
Insert vào file code:
#!/bin/bash

# Tạo mảng a để nhập vào 20 số


a=("$@")

# Duyệt qua tất cả phần tử và sắp xếp theo thứ tự từ bé đến lớn và lưu vào mảng b
b=($(for i in "${a[@]}"; do echo $i; done | sort -n))

# In mảng sau khi sắp xếp


echo "Mảng sau khi sắp xếp: ${b[@]}"

# Lưu mảng vào file sapxep


echo "${b[@]}" > sapxep
chmod +x code // Cấp quyền cho file code
./code 9 6 5 7 3 1 4 10 18 19 21 24 26 27 30 38 42 46 48 50 // Chạy file với đầu vào
cat sapxep // Xem kết quả trong file sapxep

You might also like