




Preview text:
lOMoAR cPSD| 58833082 lOMoAR cPSD| 5883308
B I TẬP BUỔI 3: (tuần 4-5) Tìm kiếm kí tự 1. Tạo datafile $ cat datafile Tỉnh Ma Ten A B C D Nam dinh ND Cuong Nguyen 9.0 .98 3 4 Bac ninh BN Binh Tran 5.3 .97 5 3 Ha noi HN Ha Le Nguyen 6.7 .8 2 8 Bac ninh BN Trung Tran 5.1 .95 4 5 Thai nguyen TN Ngoc Ha 7.0 .7 4 7 Thanh hoa TH Cong Le 4.4 .84 5 0 Ha noi HN Mai Nguyen 5.1 .94 3 3 Hue HU Duong Khuat 8.5 .89 5 9 Lang son LS Nam Ho Nguyen 5.7 .94 5 3
Với lệnh grep hãy
a) In các hàng chứa xâu “Tha” grep “Tha” datafile b) In các hàng chứa 5 grep “5” datafile
c) In các hàng không chứa 3 grep - v “3” datafile lOMoAR cPSD| 58833082
d) In các hàng cuối là 3 grep “3$” datafile
e) In các hàng chứa tên bắt ầu với “H”
grep “^H” datafile
f) In các hàng vừa chứa 5 và hàng cuối là 3
grep “5” datafile | grep “3$”
g) Lọc lấy hàng chứa”HN” cất vào file tên hn
grep “HN” datafile > hn
2 . Với datafile trên ây với lệnh sed hãy
a) Đổi tên Cong thành Coong
sed ’s/Cong/Coong/g’ datafile
b) Xóa 3 dòng ầu tiên sed ’1,3d’ datafile
c) In từ dòng 5 ến dòng 9
sed -n ’5,9p’ datafile lOMoAR cPSD| 58833082 d) Xóa dòng chứa tên Mai
sed ’/Mai/d’ ten_file
e) Thêm dấu * vào cuối xâu “Le”
sed ’s/Le$/Le*/’ ten_file
f) In các hàng có giá trị từ 5.0 ến 5.9
sed -n ’/^5\.[0-9]/p’ ten_file
g) Thêm vào cuối datafile “THE END”
sed ’$a\THE END’ ten_file
h) Lọc lấy các hàng có mục C bằng 5 rồi
cất vào file tên kha
sed -n ’/\t5\t/p’ ten_file > kha
3. Hãy dùng lệnh sed cho file /home/btap/dsach.a
a) Xóa dòng cuối cất vào dsach.a.bak
sed ’$d’ /home/btap/dsach.a > /home/btap/dsach.a.bak
b) Xóa các dòng bắt ầu bằng kí tự “V” cất vào dsach.a.bak1
sed ’/^V/d’ /home/btap/dsach.a > /home/btap/dsach.a.bak1
c) Thay thế “Nam” bang Huong” cất vào dsach.a.bak2
sed ’s/Nam/Huong/g’ /home/btap/dsach.a >
/home/btap/dsach.a.bak2
d) Thay thế 4 bằng 5 cất vào dsach.a.bak3 sed ’s/4/5/g’
/home/btap/dsach.a >
/home/btap/dsach.a.bak3
4. Sử dụng lệnh awk cho file /home/btap/dsach.a
a) In các trường có tên Nam
awk ’$3 == "Nam" {print}’ /home/btap/dsach.a
b) In các tên có trường thứ 3 có giá trị bằng 16
awk ’$3 == 16 {print $1}’ /home/btap/dsach.a lOMoAR cPSD| 58833082
c) In tên và giá trị của (trường 2)*0.4 cộng với (trường 3)*0.6
awk ’{print $1, $2*0.4 + $3*0.6}’ /home/btap/dsach.a
d) Chỉ in kết quả của tổng trường 2 , “ “ , tổng trường 3
awk ’{sum2 += $2; sum3 += $3} END {print sum2, " ",
sum3}’ /home/btap/dsach.a
e) Chỉ in thông báo “ KET QUA:” và giá trị tổng trường 2 chia tổng trường 3
awk ’{sum2 += $2; sum3 += $3} END {print "KET QUA:",
sum2/sum3}’ /home/btap/dsach.a
5. Sử dụng datafile trên với awk hãy
a) In các hàng có tổng mục ABCD lớn hơn 15 awk ’{if ($4 + $5 + $6 +
$7 > 15) print}’ ten_file
b) In tên các người có tổng muc ABCD lớn hơn 15 nhỏ hơn 17
awk ’{sum = $4 + $5 + $6 + $7; if (sum > 15 && sum < 17) print $3}’ ten_file
c) Cộng 2 vào Duong awk ’{if ($3 == "Duong") $7 = $7 + 2; print}’ ten_file
d) Thay tên “Ha Le” bằng “Cong Le” awk ’{if ($3 == "Ha" && $4 ==
"Le") $3 = "Cong"; print}’ ten_file
e) Thay dấu nhắc hệ thống hiện hành bằng dấu nhắc “K63”
awk ’{gsub(/Ha noi/, "K63"); print}’ ten_file
f) Đếm tổng số sinh viên awk ’END {print NR}’ ten_file
g) Hãy xác ịnh số thứ tự vị trí của Le
awk ’{if ($3 == "Le") print NR}’ ten_file
h) Thêm hàng cuối “SUM” với giá trị trung bình từng muc ABCD
awk ’{sum = $4 + $5 + $6 + $7; total += sum; print} END {print
"SUM\t" total/NR}’ ten_file
6. Sử dụng tiến trình truyền file (ftp) ể
• Xem nội dung thư mục của user trên trạm host lOMoAR cPSD| 58833082
• Truyền file cho thư mục của user từ trạm host
• Lấy file từ thư mục của user cho trạm host
7. Sử dụng các chức năng mạng xem
• Trạm 10.10.211.13 có truy cập vào host không
• Trạng thái mạng của trạm host thế nào
• Các loại giao diện mạng trạm host