[ShellScript] Hướng dẫn tìm độ dài của 1 biến hoặc 1 dòng text trong file trên bash shell

Đôi khi trong lúc code shell script thì bạn muốn trích xuất hoặc xử lý thông tin ‘độ dài của 1 biến trong bash shell hoặc 1 dòng text trong file‘, thì bạn sẽ làm thế nào ? Bài post này hy vọng là cái note nhỏ dành cho những bạn mới chưa biết đến các phương thức xử lý dưới đây, rất tiện dụng trong lập trình shell script.

Như vậy bài note này sẽ nói đến 2 nội dung chủ yếu gồm :
– Tìm độ dài của 1 chuỗi string text được nhập từ prompt.
– Tìm độ dài của 1 hoặc nhiều dòng line trong 1 file text.
– Tìm độ dài của 1 biến trong bash shell.

 
1. Đếm độ dài của 1 chuỗi text

+ Sử dụng lệnh ‘expr’

# expr length "Tim do dai doan text nay trong Shell Script thu. cuongquach.com"
63

 
+ Sử dụng lệnh ‘wc’

# echo -n "Tim do dai doan text nay trong Shell Script thu. cuongquach.com" | wc -c
63

 
+ Sử dụng lệnh ‘awk’

# echo "Vi du thu 2 su dung awk de tim do dai doan text nhe. cuongquach.com" | awk '{print length}'
67

 
2. Đếm độ dài của từng dòng text trong file text

– Ví dụ mình sẽ có 1 file text với nội dung như sau :

# cat cuongquach.demo.txt
Day la dong thu 1
Day la dong ke tiep
Day la dong thu 3 roi nha
Day la dong thu 4 sau dong thu 3
Con rat nhieu nua day..

+ Dùng lệnh ‘awk’ để tìm độ dài từng dòng text trong file

# awk '{ print $0 " = " length($0) }' cuongquach.demo.txt
Day la dong thu 1 = 17
Day la dong ke tiep = 19
Day la dong thu 3 roi nha = 25
Day la dong thu 4 sau dong thu 3 = 32
Con rat nhieu nua day.. = 23

 
+ Dùng lệnh ‘awk’ trên chỉ cần in thông tin độ dài text từng dòng trong file

# awk '{ print length($0) }' cuongquach.demo.txt
17
19
25
32
23

 
3. Tìm độ dài của 1 biến trong bash shell

– Bạn có thể kiểm tra độ dài của 1 biến dùng trong bash shell với 1 vài kí tự đặc biệt như sau

 
+ Sử dụng kí tự ‘#’ khi echo biến

# VAR="Co mot chuoi ki tu trong bien VAR nay do."
# echo ${#VAR}
41

 
– Bạn có thể gán thông tin độ dài của 1 biến thành 1 biến khác với cấu trúc ở trên như sau.

# VAR="Co mot chuoi ki tu trong bien VAR nay do."
# VAR_LENGTH=${#VAR}
# echo $VAR_LENGTH
41

 
Ok, nội dung đến đây là hết rồi. Cám ơn các bạn đã theo dõi bài viết nhé. Có phương pháp nào xử lý hay nữa thì bạn comment ở dưới để cùng mình chia sẻ nhé.

Previous article[Linux] Hướng dẫn tắt bật tính năng ‘syntax highlighting’ trong công cụ vim Linux
Next article[NTPd] Fix lỗi lệnh ntpdate đồng bộ thời gian – “the NTP socket is in use exiting”
Bạn đang theo dõi website "https://cuongquach.com/" nơi lưu trữ những kiến thức tổng hợp và chia sẻ cá nhân về Quản Trị Hệ Thống Dịch Vụ & Mạng, được xây dựng lại dưới nền tảng kinh nghiệm của bản thân mình, Quách Chí Cường. Hy vọng bạn sẽ thích nơi này !