[UNIX] Những thông tin gì thể hiện trên terminal?
Mục lục:
- Cách sử dụng lệnh
tr - Kết hợp các tùy chọn
- Ví dụ lệnh Tr
- Chuyển đổi chữ thường thành chữ hoa
- Xóa tất cả các ký tự không phải là số
- Đặt mỗi từ vào một dòng mới
- Xóa các dòng trống
- In các thư
$PATHtrên một dòng riêng biệt - Phần kết luận
tr
là một tiện ích dòng lệnh trong các hệ thống Linux và Unix có thể dịch, xóa và ép các ký tự từ đầu vào tiêu chuẩn và ghi kết quả vào đầu ra tiêu chuẩn.
Lệnh
tr
có thể thực hiện các hoạt động như xóa các ký tự lặp lại, chuyển đổi chữ hoa thành chữ thường và thay thế và xóa ký tự cơ bản. Thông thường, nó được sử dụng kết hợp với các lệnh khác thông qua đường ống.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách sử dụng lệnh
tr
thông qua các ví dụ thực tế và giải thích chi tiết về các tùy chọn phổ biến nhất.
Cách sử dụng lệnh
tr
Cú pháp của lệnh
tr
như sau:
tr OPTION… SET1
tr
chấp nhận hai bộ ký tự, thường có cùng độ dài và thay thế các ký tự của bộ thứ nhất bằng các ký tự tương ứng từ bộ thứ hai.
Một
SET
về cơ bản là một chuỗi các ký tự, bao gồm các ký tự thoát dấu gạch chéo ngược đặc biệt.
Trong ví dụ sau,
tr
sẽ thay thế tất cả các ký tự từ đầu vào tiêu chuẩn (linuxize), bằng cách ánh xạ các ký tự từ bộ đầu tiên bằng các ký tự khớp từ bộ thứ hai.
echo 'linuxize' | tr 'lin' 'red'
Mỗi lần xuất hiện của
l
được thay thế bằng
r
,
i
bằng
e
và
n
bằng
d
:
reduxeze
Các bộ ký tự cũng có thể được xác định bằng cách sử dụng phạm vi ký tự. Ví dụ: thay vì viết:
echo 'linuxize' | tr 'lmno' 'wxyz'
bạn có thể dùng:
echo 'linuxize' | tr 'ln' 'w-z'
Khi tùy chọn
-c
(
--complement
) được sử dụng,
tr
sẽ thay thế tất cả các ký tự không có trong SET1.
Trong ví dụ bên dưới, tất cả các ký tự, ngoại trừ, li li, sẽ được thay thế bằng ký tự cuối cùng từ tập thứ hai:
echo 'linuxize' | tr -c 'li' 'xy'
liyyyiyyy
Như bạn có thể nhận thấy, đầu ra ở trên có một ký tự rõ ràng hơn đầu vào. Điều này là do lệnh
echo
in một ký tự dòng mới vô hình
cũng được thay thế bằng
y
. Để lặp lại một chuỗi không có dòng mới, hãy sử dụng tùy chọn
-n
.
Tùy chọn
-d
(
--delete
) cho
tr
để xóa các ký tự được chỉ định trong SET1. Khi xóa các ký tự mà không ép, chỉ định một bộ.
Lệnh dưới đây sẽ loại bỏ các ký tự
l
,
i
và
z
:
echo 'Linuxize' | tr -d 'liz'
Ký tự
L
không bị xóa vì đầu vào bao gồm chữ
L
viết hoa trong khi ký tự
l
trong SET là chữ thường.
Lnuxe
Tùy chọn
-s
(
--squeeze-repeats
) thay thế một chuỗi các lần xuất hiện lặp lại với bộ ký tự trong SET cuối cùng.
Trong ví dụ sau,
tr
loại bỏ các ký tự khoảng trắng lặp lại:
echo "GNU \ Linux" | tr -s ' '
GNU \ Linux
Khi SET2 được sử dụng, chuỗi ký tự được chỉ định trong SET1 được thay thế bằng SET2.
echo "GNU \ Linux" | tr -s ' ' '_'
GNU_\_Linux
Tùy chọn
-t
(
--truncate-set1
) buộc
tr
cắt bớt SET1 theo chiều dài của SET2 trước khi xử lý thêm.
Theo mặc định, nếu SET1 lớn hơn SET2
tr
sẽ sử dụng lại ký tự cuối cùng của SET2. Đây là một ví dụ:
echo 'Linux ize' | tr 'abcde' '12'
Đầu ra cho thấy ký tự
e
từ SET1 được khớp với ký tự mới nhất của SET2, là
2
:
Linux iz2
Bây giờ, sử dụng cùng một lệnh với tùy chọn
-t
:
echo 'Linux ize' | tr -t 'abcde' '12'
Linux ize
Bạn có thể thấy rằng ba ký tự cuối cùng của SET1 đã bị xóa. SET1 trở thành 'ab', cùng độ dài với SET2 và không có sự thay thế nào được thực hiện.
Kết hợp các tùy chọn
Lệnh
tr
cũng cho phép bạn kết hợp các tùy chọn của nó. Ví dụ: lệnh sau trước tiên thay thế tất cả các ký tự trừ
i
bằng
0
và sau đó nén
0
ký tự lặp lại:
echo 'Linux ize' | tr -cs 'i' '0'
Ví dụ lệnh Tr
Trong phần này, chúng tôi sẽ đề cập đến một vài ví dụ về cách sử dụng phổ biến của lệnh
tr
.
Chuyển đổi chữ thường thành chữ hoa
Chuyển đổi chữ thường thành chữ hoa hoặc chữ ngược là một trong những trường hợp sử dụng điển hình của lệnh
tr
.
phù hợp với tất cả các ký tự chữ thường và
phù hợp với tất cả các ký tự viết hoa.
echo 'Linuxize' | tr '' ''
LINUXIZE
Thay vì các lớp nhân vật, bạn cũng có thể sử dụng phạm vi:
echo 'Linuxize' | tr 'az' 'A-Z'
Để chuyển đổi chữ hoa thành chữ thường, chỉ cần chuyển vị trí của các bộ.
Xóa tất cả các ký tự không phải là số
Lệnh sau sẽ xóa tất cả các ký tự không phải là số:
echo "my phone is 123-456-7890" | tr -cd
là viết tắt của tất cả các ký tự chữ số và bằng cách sử dụng tùy chọn
-c
, lệnh sẽ xóa tất cả các ký tự không có chữ số. Đầu ra sẽ như thế này:
Đặt mỗi từ vào một dòng mới
Để đặt từng từ vào một dòng mới, chúng ta cần khớp tất cả các ký tự không phải là chữ và số và thay thế chúng bằng một dòng mới:
echo 'GNU is an operating system' | tr -cs '' '\n'
Xóa các dòng trống
Để xóa các dòng trống, chỉ cần nén các ký tự dòng mới lặp đi lặp lại:
tr -s '\n' < file.txt > new_file.txt
Trong lệnh trên, chúng tôi đang sử dụng biểu tượng chuyển hướng
<
để truyền nội dung của
file.txt
vào lệnh
tr
. Chuyển hướng
>
ghi đầu ra của lệnh vào
new_file.txt
.
In các thư
$PATH
trên một dòng riêng biệt
Biến môi trường
$PATH
là một danh sách các thư mục được phân tách bằng dấu hai chấm cho shell biết thư mục nào cần tìm kiếm các tệp thực thi khi bạn gõ lệnh.
Để in mỗi thư mục trên một dòng riêng biệt, chúng ta cần khớp dấu hai chấm (:) và thay thế nó bằng dòng mới:
echo $PATH | tr ':' '\n'
/usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin
Phần kết luận
tr
là một lệnh để dịch hoặc xóa các ký tự.
Mặc dù rất hữu ích,
tr
có thể hoạt động với các ký tự đơn. Để khớp mẫu phức tạp hơn và thao tác chuỗi, bạn nên sử dụng
sed
hoặc
awk
.
Với một vài thay đổi, cuộc tranh luận tổng thống Mỹ sắp tới có thể thân thiện hơn với cả cử tri và Web, một liên minh các blogger, các nhà tư vấn chính trị và các nhà vận động khác nhau. Đảng Dân chủ và Cộng hòa đã kêu gọi các ứng cử viên tổng thống Barack Obama và John McCain thay đổi một số quy tắc của các cuộc tranh luận theo cách có thể khuyến khích các cử tri đưa ra và lựa chọn các câu hỏi trên Web và cho phép các trang Web phân phối lại video của các cuộc tranh luận không có bản quyền mối
Cuộc tranh luận đầu tiên giữa McCain và Obama là tối thứ sáu tại Đại học Mississippi. Hai trong số này được lên kế hoạch vào tháng 10, cũng như một cuộc tranh luận phó tổng thống.
Từ các cuộc tấn công từ chối dịch vụ trên các trang web những nỗ lực trên lưới điện và các hệ thống tài chính và quân sự, các chuyên gia cảnh báo rằng các cuộc chiến tranh tiếp theo sẽ được khởi động bằng các vụ nổ điện tử từ các diễn viên ngoài quốc gia và các quốc gia chưa đưa ra các chiến lược rõ ràng. và các quan chức chính phủ đang thảo luận về những vấn đề này trong tuần này tại Tallinn, Estonia, tại Hội nghị lần đầu tiên về chiến tranh trên mạng. Nó được tổ chức bởi Trung tâm Hợp tác quốc
[ĐọC thêm: Cách xóa phần mềm độc hại khỏi PC Windows]
Mặc dù số lượng các cuộc tấn công mạng thành công do tin tặc Đông Á đưa ra chống lại các công ty và các tổ chức chính phủ trên khắp thế giới trong những năm gần đây, các nhà nghiên cứu bảo mật cho biết. Các nhà nghiên cứu bảo mật cho rằng, các tin tặc Đông Á thống trị các tiêu đề liên quan đến an ninh mạng trên khắp thế giới với sự xâm nhập cao và các mối đe dọa liên tục (APT), nó sẽ là một sai lầm để kết luận rằng những kẻ tấn công này là mối đe dọa hình sự lớn nhất hoặc duy nhất đối với Intern
"Sau khi tiến hành nghiên cứu sâu rộng về bản chất của khu vực Đông Á và Đông Âu, Trend Micro kết luận rằng tin tặc từ Khối Liên Xô trước đây là một mối đe dọa tinh vi và bí mật hơn so với các đối tác Đông Á nổi tiếng hơn, "Kellermann, người cho đến gần đây làm ủy viên Ủy ban An ninh mạng cho Tổng thống Hoa Kỳ thứ 44







