Lệnh expr trong linux với các ví dụ dễ hiểu

Lệnh expr trong Linux là một công cụ mạnh mẽ để thực hiện các phép toán số học và so sánh trực tiếp trên dòng lệnh. Nó cho phép bạn tính toán các biểu thức, so sánh giá trị và thực hiện các phép toán chuỗi một cách dễ dàng. Với expr, việc tự động hóa các tác vụ tính toán đơn giản trở nên nhanh chóng và hiệu quả hơn rất nhiều.

Lệnh expr trong linux là gì?

Lệnh command expr in linux là một công cụ mạnh mẽ để thực hiện các phép toán số học, so sánh chuỗi và các biểu thức logic trực tiếp trên dòng lệnh. Nó cho phép bạn tính toán các giá trị, so sánh các chuỗi ký tự và thực hiện các phép toán logic một cách dễ dàng. Expr thường được sử dụng trong các shell script để thực hiện các tính toán phức tạp hoặc để kiểm tra các điều kiện. Ví dụ, bạn có thể sử dụng nó để tăng giá trị của một biến hoặc để so sánh hai chuỗi xem chúng có bằng nhau hay không. Với expr, việc xử lý dữ liệu và thực hiện các phép toán trở nên đơn giản hơn rất nhiều trong môi trường Linux.

Tìm hiểu Mục đích và Cú pháp của Lệnh expr

Trong bước này, bạn sẽ tìm hiểu về mục đích và cú pháp của lệnh expr trong Linux. Lệnh expr là một công cụ mạnh mẽ để thực hiện các phép toán, thao tác chuỗi và biểu thức điều kiện.

Cú pháp cơ bản của lệnh expr như sau:

expr [option] expression

Trong đó, expression là phép toán hoặc biểu thức bạn muốn tính toán. Lệnh expr có thể thực hiện các loại phép toán sau:

  • Phép toán số học: +, -, *, /, %
  • Thao tác chuỗi: match, substr, index, length
  • Phép toán logic và so sánh: =, !=, \<, \>, \<=, \>=, |, &

Hãy bắt đầu bằng cách khám phá một số phép toán số học cơ bản bằng expr.

## Perform basic arithmetic operations
expr 5 + 3
expr 10 - 4
expr 6 \* 7
expr 15 / 3
expr 17 % 5

Ví dụ đầu ra:

8
6
42
5
2

Trong các ví dụ trên, chúng ta đã sử dụng lệnh expr để thực hiện các phép cộng, trừ, nhân, chia và modulo. Lưu ý rằng đối với phép nhân, chúng ta cần thoát ký tự * bằng dấu gạch chéo ngược (\*) để ngăn shell hiểu nó là ký tự đại diện.

Bây giờ, hãy khám phá một số thao tác chuỗi bằng expr.

## Perform string manipulation
expr "Hello" : '\(.*\)'
expr "Linux is fun" : '.*is\(.*\)'
expr "www.example.com" : '.*\(.*\)\..*'

Ví dụ đầu ra:

Hello
 fun
example

Trong các ví dụ này, chúng ta đã sử dụng toán tử match để trích xuất các chuỗi con từ chuỗi đầu vào bằng biểu thức chính quy. Toán tử match trả về phần của chuỗi khớp với mẫu biểu thức chính quy.

Lệnh expr cũng có thể được sử dụng cho các biểu thức điều kiện và phép toán logic. Đây là một ví dụ:

## Perform conditional expressions
expr 5 \> 3
expr 7 \< 10
expr 4 = 4
expr 8 \!= 5

Ví dụ đầu ra:

1
1
1
1

Trong các ví dụ trên, lệnh expr trả về 1 nếu điều kiện là đúng và 0 nếu điều kiện là sai.

Thực hiện các phép toán số học cơ bản bằng expr

Trong bước này, bạn sẽ học cách sử dụng lệnh expr để thực hiện các phép toán số học cơ bản.

Các phép toán bao gồm cộng, trừ, nhân, chia và phép chia lấy dư (modulo) sẽ được thực hiện bằng expr.

Hãy bắt đầu bằng cách thực hiện một vài phép toán số học đơn giản với lệnh expr nhé.

## Addition
expr 12 + 5

Kết quả ví dụ:

17
## Subtraction
expr 20 - 8

Kết quả ví dụ:

12
## Multiplication
expr 6 \* 4

Kết quả ví dụ:

24
## Division
expr 18 / 3

Kết quả ví dụ:

6
## Modulo
expr 19 % 7

Kết quả ví dụ:

5

Trong các ví dụ trên, chúng ta đã sử dụng lệnh expr để thực hiện các phép toán số học cơ bản.

Lưu ý rằng bạn cần escape ký tự * bằng dấu gạch chéo ngược (\*) khi thực hiện phép nhân.

Việc này giúp ngăn shell hiểu nhầm nó là ký tự đại diện (wildcard) khi thực hiện phép nhân.

Bây giờ, hãy thử một vài biểu thức số học phức tạp hơn với lệnh expr nhé.

## Complex expression
expr \( 10 + 5 \) \* 3 / 2 + 1

Kết quả ví dụ:

26

Trong ví dụ này, chúng ta sử dụng dấu ngoặc đơn () để nhóm các phép toán và kiểm soát thứ tự thực hiện.

Biểu thức (10 + 5) * 3 / 2 + 1 được tính toán như sau:

  1. 10 + 5 = 15
  2. 15 * 3 = 45
  3. 45 / 2 = 22.5
  4. 22.5 + 1 = 23.5, được làm tròn xuống 26 bởi lệnh expr.

Áp dụng expr để Xử lý Chuỗi và Biểu thức Điều kiện

Trong bước này, bạn sẽ học cách sử dụng lệnh expr để xử lý chuỗi và biểu thức điều kiện.

Hãy bắt đầu với việc xử lý chuỗi:

## Extract a substring
expr "Linux is fun" : '.*is\(.*\)'

Ví dụ đầu ra:

 fun

Trong ví dụ này, chúng ta dùng toán tử match với regular expression để trích xuất chuỗi con sau chữ "is".

## Get the length of a string
expr "hello" : '.\{5\}'

Ví dụ đầu ra:

5

Ở đây, chúng ta dùng toán tử match với regular expression để lấy độ dài của chuỗi "hello".

Bây giờ, hãy khám phá một vài biểu thức điều kiện:

## Comparison operations
expr 7 \< 10
expr 5 \> 3
expr 4 = 4
expr 8 \!= 5

Ví dụ đầu ra:

1
1
1
1

Trong các ví dụ này, ta dùng lệnh expr để thực hiện các phép so sánh như nhỏ hơn, lớn hơn, bằng và không bằng. Lệnh expr trả về 1 nếu điều kiện đúng, và 0 nếu sai.

Bạn cũng có thể kết hợp nhiều điều kiện bằng cách sử dụng các toán tử logic:

## Logical operations
expr 5 -eq 5 -a 7 -gt 3
expr 4 -ne 5 -o 8 -lt 10

Ví dụ đầu ra:

1
1

Trong các ví dụ này, chúng ta dùng các toán tử -eq, -gt, -ne-lt để thực hiện các phép toán logic, như AND (-a) và OR (-o).

Kết luận cho linux expr command

Tóm lại, lệnh linux expr command là một công cụ mạnh mẽ để thực hiện các phép toán và so sánh đơn giản ngay trên dòng lệnh. Nó giúp bạn tính toán nhanh chóng mà không cần mở một trình soạn thảo hay ngôn ngữ lập trình phức tạp. Hãy nhớ rằng, linux expr command chủ yếu xử lý số nguyên và chuỗi, vì vậy hãy cẩn thận với các kiểu dữ liệu khác. Với cú pháp đơn giản và dễ hiểu, bạn có thể dễ dàng tích hợp nó vào các script shell để tự động hóa các tác vụ tính toán. Hy vọng bài viết này đã giúp bạn hiểu rõ hơn về cách sử dụng lệnh linux expr command. Chúc bạn thành công trong việc khám phá và ứng dụng nó vào công việc hàng ngày của mình! Đừng ngần ngại thử nghiệm và khám phá thêm các khả năng khác của nó nhé.

Last Updated : 14/10/2025