BÀI VIẾT

Hướng dẫn sử dụng lệnh expr trên Linux

2.2K
author Đặng Văn Chương - 2022-08-05 16:44:50 (GMT+7)

Giới thiệu

Lệnh expr trong Linux đánh giá một biểu thức nhất định và hiển thị đầu ra tương ứng của nó. Lệnh expr dùng để:

  • Thực hiện các phép toán cơ bản như cộng, trừ, nhân, chia và mô đun trên số nguyên.
  • Đánh giá các biểu thức chính quy, các hoạt động chuỗi như chuỗi con, độ dài của chuỗi, v.v.

Cú pháp lệnh expr

bash (non-root)
expr [arithmetic expression]

Chú thích tham số lệnh expr:

  • [arithmetic expression]: Là biểu thức toán học.

Các tùy chọn lệnh expr:

Tùy chọn --version sử dụng để hiển thị thông tin phiên bản expr:

bash (non-root)
expr --version
Kết quả
expr (GNU coreutils) 8.30
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Mike Parker, James Youngman, and Paul Eggert.

Tùy chọn --help dùng để hiển thị thông báo trợ giúp lệnh expr

bash (non-root)
expr --help
Kết quả
Usage: expr EXPRESSION
  or:  expr OPTION

      --help     display this help and exit
      --version  output version information and exit

Print the value of EXPRESSION to standard output.  A blank line below
separates increasing precedence groups.  EXPRESSION may be:

  ARG1 | ARG2       ARG1 if it is neither null nor 0, otherwise ARG2

  ARG1 & ARG2       ARG1 if neither argument is null or 0, otherwise 0

  ARG1 < ARG2       ARG1 is less than ARG2
  ARG1 <= ARG2      ARG1 is less than or equal to ARG2
  ARG1 = ARG2       ARG1 is equal to ARG2
  ARG1 != ARG2      ARG1 is unequal to ARG2
  ARG1 >= ARG2      ARG1 is greater than or equal to ARG2
  ARG1 > ARG2       ARG1 is greater than ARG2

  ARG1 + ARG2       arithmetic sum of ARG1 and ARG2
  ARG1 - ARG2       arithmetic difference of ARG1 and ARG2

  ARG1 * ARG2       arithmetic product of ARG1 and ARG2
  ARG1 / ARG2       arithmetic quotient of ARG1 divided by ARG2
  ARG1 % ARG2       arithmetic remainder of ARG1 divided by ARG2

  STRING : REGEXP   anchored pattern match of REGEXP in STRING

  match STRING REGEXP        same as STRING : REGEXP
  substr STRING POS LENGTH   substring of STRING, POS counted from 1
  index STRING CHARS         index in STRING where any CHARS is found, or 0
  length STRING              length of STRING
  + TOKEN                    interpret TOKEN as a string, even if it is a
                               keyword like 'match' or an operator like '/'

  ( EXPRESSION )             value of EXPRESSION
. . .

Sử dụng lệnh expr cho các phép toán số học cơ bản

Phép cộng

bash (non-root)
expr a + b

Chú thích tham số lệnh expr:

  • a: Là số nguyên thứ nhất.
  • b: Là số nguyên thứ hai.
  • +: Là phép cộng hai số nguyên.

Ví dụ minh họa:

bash (non-root)
expr 4 + 5
Kết quả
9

Phép trừ

bash (non-root)
expr a - b

Chú thích tham số lệnh expr:

  • a: Là số nguyên thứ nhất.
  • b: Là số nguyên thứ hai.
  • -: Là phép trừ hai số nguyên.

Ví dụ minh họa:

bash (non-root)
expr 5 - 4
Kết quả
1

Phép nhân

bash (non-root)
expr a \* b

Chú thích tham số lệnh expr:

  • a: Là số nguyên thứ nhất.
  • b: Là số nguyên thứ hai.
  • \*: Là phép nhân hai số nguyên.

Ví dụ minh họa:

bash (non-root)
expr 4 \* 5
Kết quả
20

Phép chia

bash (non-root)
expr a / b

Chú thích tham số lệnh expr:

  • a: Là số nguyên thứ nhất.
  • b: Là số nguyên thứ hai.
  • /: Là phép chia hai số nguyên.

Ví dụ minh họa:

bash (non-root)
expr 20 / 5
Kết quả
4

Lưu ý: Chỉ áp dụng cho các phép chia hết để có kết quả chính xác nhất. Vì lệnh expr luôn trả về một số nguyên.

Phép chia lấy dư

bash (non-root)
expr a % b

Chú thích tham số lệnh expr:

  • a: Là số nguyên thứ nhất.
  • b: Là số nguyên thứ hai.
  • %: Là phép chia lấy phần dư hai số nguyên.

Ví dụ minh họa:

bash (non-root)
expr 23 % 5
Kết quả
3

Đếm độ dài chuỗi

Để đếm độ dài một chuỗi trên Linux chúng ta có thể dùng lệnh sau:

bash (non-root)
expr length $a

Chú thích tham số lệnh expr:

  • length $a: Là độ dài chuỗi kí tự a. Ví dụ minh họa: Kiểm tra độ dài chuỗi 123host chúng ta dùng lệnh sau:
bash (non-root)
expr length $123host
Kết quả
6

Kiểm tra chỉ số của kí tự trong một chuỗi

bash (non-root)
expr index $a b

Chú thích tham số lệnh expr:

  • index $a: Kiểm tra chỉ số của kí tự trong chuỗi a.
  • b: Là kí tự cần kiểm tra chỉ số trong chuỗi a. Ví dụ minh họa: Kiểm tra chỉ số của kí tự s trong chuỗi 123host chúng ta dùng lệnh sau:
bash (non-root)
expr index $123host s
Kết quả
5

So sánh hai biểu thức

Sử dụng lệnh “expr”, chúng ta cũng có thể so sánh hai biểu thức. Để so sánh các biểu thức, hãy sử dụng các toán tử logic như “=,>,! =”.

  • Nếu điều kiện hợp lệ, nó sẽ hiển thị 1.
  • Nếu điều kiện không hợp lệ, nó sẽ hiển thị 0 trong đầu ra.
bash (non-root)
expr a = b

Chú thích tham số lênh expr:

  • a: Là số nguyên thứ nhất.
  • b: Là số nguyên thứ hai.
  • =: Là phép so sánh bằng. Ví dụ minh họa: So sánh hai số nguyên 30 và 40
bash (non-root)
expr 30 = 40
Kết quả
0
bash (non-root)
expr 30 = 30
Kết quả
1

So sánh không bằng

bash (non-root)
expr a \!= b

Chú thích tham số lệnh expr:

  • a, b: Là các số nguyên cần so sánh.
  • \!=: Là phép so sánh không bằng.

Ví dụ minh họa: So sánh không bằng hai số 20 và 30 bằng lệnh sau:

bash (non-root)
expr 20 \!= 30
Kết quả
1

So sánh lớn hơn, bé hơn

Để so sánh lớn hơn chúng ta dùng lệnh sau:

bash (non-root)
expr a \> b

Để so sánh bé hơn chúng ta dùng lệnh sau:

bash (non-root)
expr a \< b

Chú thích tham số lệnh expr:

  • a: Là số nguyên thứ nhất.
  • b: Là số nguyên thứ hai.
  • \>: Là phép so sánh lớn hơn.
  • \<: Là phép so sánh bé hơn.

Ví dụ minh họa: So sánh lớn hơn, bé hơn hai số nguyên 30 và 40 chúng ta dùng lệnh sau:

bash (non-root)
expr 30 \> 40
Kết quả
0
bash (non-root)
expr 30 \< 40
Kết quả
1

So khớp số kí tự của hai chuỗi

Giả sử, chúng ta có hai chuỗi và muốn khớp số ký tựcủa hai chuỗi với nhau. Hãy thực hiện theo cú pháp:

bash (non-root)
expr string1 : string2

Chú thích tham số lệnh expr:

  • string1: Là nội dung chuỗi thứ nhất.
  • string2: Là nội dung chuỗi thứ hai.

Ví dụ minh họa: Đếm số kí tự khớp nhau của hai chuỗi 123host123hostvn chúng ta dùng lệnh như sau:

bash (non-root)
expr 123host.vn : 123host
Kết quả
7

Kết luận

Lệnh expr đánh giá và hiển thị đầu ra tiêu chuẩn của một biểu thức nhất định. Mỗi biểu thức riêng biệt được coi là một tuyên bố. Biểu thức số nguyên, chuỗi và biểu thức chính quy được sử dụng với lệnh "expr". Chúng ta đã đề cập đến nhiều ví dụ về lệnh expr trong hướng dẫn này. Hi vọng qua bài viết sẽ giúp bạn hiểu hơn về lệnh expr trên Linux.


Bạn có làm được theo hướng dẫn này không?

Bài liên quan

Lệnh xác định vị trí của tệp hoặc thư mục trên Linux
Lệnh xác định vị trí của tệp hoặc thư mục trên Linux
Lệnh kiểm tra nhiều cổng port đang mở của một tên miền trên Linux
Lệnh kiểm tra nhiều cổng port đang mở của một tên miền trên Linux
Lệnh tạo một dãy số tăng dần trên Linux
Lệnh tạo một dãy số tăng dần trên Linux

Object Storage

Chuẩn S3, không giới hạn băng thông

Object Storage

Thuê Server Riêng

Chi phí thấp, cấu hình cao

Thuê Server Riêng
Thông tin tác giả
Bình luận

Tính năng đang được phát triển

Đang tải bình luận
Liên hệ chúng tôi