Loạt bài tổng hợp câu lệnh Linux:
Tiếp theo, mình sẽ giới thiệu các lệnh làm việc với tập tin văn bản (.txt)
So sánh, sắp xếp, chỉnh sửa file text.
Câu lệnh | Chú thích |
# cat example.txt | awk ‘NR%2==1’ | Xóa tất cả các dòng trong file example.txt |
# echo a b c | awk ‘{print $1}’ | Xem cột đầu tiên của dòng a |
# echo a b c | awk ‘{print $1,$3}’ | Xem cột thứ nhất và ba của dòng a |
# cat -n file1 | Đếm số dòng của file1 |
# comm -1 file1 file2 | So sánh nội dụng của 2 file nhưng chỉ xóa những dòng khác ở file 1 (Xem ví dụ) |
# comm -2 file1 file2 | So sánh nội dụng của 2 file nhưng chỉ xóa những dòng khác ở file 2 (Xem ví dụ) |
# comm -3 file1 file2 | So sánh nội dụng của 2 file nhưng chỉ xóa những dòng xuất hiện ở cả 2 file (Xem ví dụ) |
# diff file1 file2 | Xem khác nhau giữa 2 file |
# grep Aug /var/log/messages | Tìm kiếm “Aug” ở file ‘/var/log/messages’ |
# grep ^Aug /var/log/messages | Tìm kiếm từ bắt đầu bằng “Aug” ở file ‘/var/log/messages’ |
# grep [0-9] /var/log/messages | chọn ở file ‘/var/log/messages’ tất cả các dòng chưa số. |
# grep Aug -R /var/log/* | Tìm chuỗi “Aug” tại thư mục ‘/var/log’ |
# paste file1 file2 | In ra màn hình nội dung 2 file theo cột. |
# paste -d ‘+’ file1 file2 | In ra màn hình nội dung 2 file theo cột với dấu cộng ở giữa. |
# sdiff file1 file2 | Tìm sự khác nhau giữa 2 file và biểu thị sự khác nhau đó. |
# sed ‘s/string1/string2/g’ example.txt | Thay string 1 bằng string 2 trong file example.txt |
# sed ‘/^$/d’ example.txt | Xóa các dòng trống trong file example.txt |
# sed ‘/ *#/d; /^$/d’ example.txt | Xóa các dòng comments và dòng trống trong file example.txt. |
# sed -e ‘1d’ exampe.txt | Loại bỏ dòng đầu tiên trong example.txt |
# sed -n ‘/string1/p’ | Xem duy nhất dòng có string 1 |
# sed -e ‘s/ *$//’ example.txt | Xóa kí tự trống tại vị trí cuối ở mỗi dòng |
# sed -e ‘s/string1//g’ example.txt | Xóa string 1 và để nguyên vẹn file example.txt |
# sed -n ‘1,5p’ example.txt | In dòng 1 đến 5 của example.txt |
# sed -n ‘5p;5q’ example.txt | In dòng 5 của example |
# sed -e ‘s/00*/0/g’ example.txt | Thay thế 2 số 0 trở lên bằng 1 số 0. |
# sort file1 file2 | Sắp xếp nội dung của 2 file |
# sort file1 file2 | uniq | sắp xếp nội dung của 2 file và bỏ qua các dòng lặp lại. |
# sort file1 file2 | uniq -u | Sắp xếp nội dung của 2 file bằng cách chỉ xem các dòng khác nhau. |
# sort file1 file2 | uniq -d | Sắp xếp nội dung của 2 file bằng cách xem các dòng trùng nhau. |
# echo ‘word’ | tr ‘[:lower:]’ ‘[:upper:]’ | Chuyển chữ thường thành chữ in hoa. |
[quangcao]
Định dạng và chuyển đổi file
Câu lệnh | Chú thích |
# dos2unix filedos.txt fileunix.txt | Chuyển định dạng file text từ MSDOD sang UNIX |
# recode ..HTML < page.txt > page.html | Chuyển định dạng file từ TEXT sang HTML |
# recode -l | more | Hiển thị tất cả các định dạng phù hợp |
# unix2dos fileunix.txt filedos.txt | chuyển định dạng file text từ UNIX sang MSDOD |
Ví dụ:
Mình sẽ đưa ra 1 số ví dụ cho các câu lệnh khó hình dung:
Lệnh paste:
In ra màn hình nội dung 2 file theo cột
Lệnh comm
So sánh 2 file
Cảm ơn các bạn đã theo dõi. Nhớ đón xem bài tiếp theo về lệnh Linux nhé.
Nguồn: linuxguide