Tôi là người mới trong tập lệnh bash. Tôi cố gắng tạo tập lệnh kiểm tra thiết bị ( tp-link, cisco, lynksys... ) để kết nối qua telnet và nhận một số thông tin.
Vì vậy, tập lệnh đầu tiên hoạt động không có vấn đề gì:
#!/bin/sh
NOW=$(ngày +"%m-%d-%Y")
HOST='IPADDRES'
NGƯỜI DÙNG='NGƯỜI DÙNG'
MẬT KHẨU='MẬT KHẨU'
CMD='bật'
CMD2='hiển thị bảng địa chỉ mac'
CMD3='độ dài đầu cuối 0'
(tiếng vang "$HOST - " ; (
tiếng vang mở "$HOST"
ngủ 1
lặp lại "$USER"
ngủ 1
tiếng vang "$PASSWD"
ngủ 1
tiếng vang "$CMD"
ngủ 1
tiếng vang "$CMD3"
ngủ 1
tiếng vang "$CMD2\n"
ngủ 30
lặp lại "thoát"
) | telnet ) > name.$NOW.txt
Khi tôi thực hiện: tên mèo.date.txt
tôi nhận được kết quả này
tên máy chủ1 -
telnet> Đang thử tên máy chủ1...
Đã kết nối với tên máy chủ1.
Ký tự thoát là '^]'.
Xác minh quyền truy cập của người dùng
Tên tài khoản:
Mật khẩu:
Chào mừng đến với BDCOM P3310C EPON OLT
tên máy chủ1>bật
tên máy chủ1#độ dài thiết bị đầu cuối 0
hostname1#show mac address-table
Bảng địa chỉ Mac (Tổng cộng 311)
------------------------------------------
Cổng loại địa chỉ Vlan Mac
---- ----------- ---- -----
Tất cả CPU TĨNH 8479.735b.9132
300 44d9.e776.d8b7 NĂNG ĐỘNG g0/3
300 4c5e.0cff.6dea NĂNG ĐỘNG g0/3
300 d4ca.6d9e.3280 NĂNG ĐỘNG g0/3
Vì vậy, tôi chỉ cần xuất dòng này 1 2 và 4
nó như thế này:
300 44d9.e776.d8b7 NĂNG ĐỘNG g0/3
300 4c5e.0cff.6dea NĂNG ĐỘNG g0/3
300 d4ca.6d9e.3280 NĂNG ĐỘNG g0/3
Tôi không cần bất cứ điều gì trước đây
"Cổng loại địa chỉ Vlan Mac"
Vì vậy, tôi làm kịch bản này:
tên mèo.date.txt | awk '$1<"ALL"{print $1" ",$2" ",$3" ",$4}'
Và tôi nhận được kết quả này:
tên máy chủ1 -
-----------------------------
---- ----------- ---- -----
300 44d9.e776.d8b7 NĂNG ĐỘNG g0/3
300 0002.9b80.7f28 NĂNG ĐỘNG g0/3
300 0002.9b65.7b66 NĂNG ĐỘNG g0/3
300 4c5e.0cff.6dea NĂNG ĐỘNG g0/3
300 d4ca.6d9e.3280 NĂNG ĐỘNG g0/3
Sửa ai?
Tôi chỉ xuất tệp chỉ thông tin này:
300 44d9.e776.d8b7 NĂNG ĐỘNG g0/3
300 0002.9b80.7f28 NĂNG ĐỘNG g0/3
300 0002.9b65.7b66 NĂNG ĐỘNG g0/3
300 4c5e.0cff.6dea NĂNG ĐỘNG g0/3
300 d4ca.6d9e.3280 NĂNG ĐỘNG g0/3
Nếu sẽ tốt hơn nếu tôi có thể xuất sang bảng hoặc csv
Cảm ơn câu trả lời