4 cách trích xuất con số từ 1 chuỗi kí tự trong bash shell – Cuongquach.com | Dưới đây là một vài cách thường được sử dụng để trích xuất con số trong 1 chuỗi trên bash shell. Trong các ví dụ dưới mình sẽ sử dụng đoạn text là ‘Toi nam nay 999 tuoi roi‘ và trích xuất ra con số ‘999‘, cùng bắt đầu với các ví dụ nhé.
Contents
1. Sử dụng ‘tr’
# NUMBER=$(echo "Toi nam nay 999 tuoi roi." | tr -dc '0-9') # echo $NUMBER 999
2. Sử dụng ‘sed’
# NUMBER=$(echo "Toi nam nay 999 tuoi roi." | sed 's/[^0-9]*//g') # echo $NUMBER 999
3. Sử dụng ‘bash’ shell
# STRING="Toi nam nay 999 tuoi roi." # echo "${STRING//[!0-9]/}" 999
hoặc
# echo "${STRING//[^0-9]/}"
4. Sử dụng lệnh ‘grep’
# NUMBER=$(echo "Toi nam nay 999 tuoi roi." | grep -o -E '[0-9]+') # echo $NUMBER 999
Có thể còn nhiều cách hay hơn, các bạn cùng bình luận chia sẻ thêm nhé. 😉
Nguồn: https://cuongquach.com/
How to extract number from string in bash shell
I will list some ways to extract number from string in bash shell script. We will set two sample variables to use with commands for extracting.
VAR1=”Im 25 years old.”
VAR2=”Im 25 years old. I have worked as system admin for 5 years.”
Four ways to extract number from string in bash shell
1. ‘tr’ command
# echo $VAR1 | tr -dc ‘0-9’ 25
# echo $VAR2 | tr -dc ‘0-9’ 255
2. ‘sed’ command
# echo $VAR1 | sed 's/[^0-9]*//g' 25
# echo $VAR2 | sed 's/[^0-9]*//g' 255
3. bash built-in
# echo “${VAR1//[!0-9]/}” 25
# echo “${VAR1//[!0-9]/}” 255
or
# echo “${VAR1//[^0-9]/}”
4. ‘grep’ command
# echo $VAR1 | grep -o -E '[0-9]+' 25
# echo $VAR2 | grep -o -E '[0-9]+' 25 5
May be we have more than ways better to extract number from string, if you know , please comment to share with me. Thank you.
Nguồn: https://cuongquach.com/