Giới thiệu
Trong lab này, bạn sẽ tìm hiểu về lệnh expr
trong Linux và cách sử dụng nó cho các tác vụ xử lý và chỉnh sửa văn bản khác nhau. Lệnh expr
là một công cụ mạnh mẽ cho phép bạn thực hiện các phép toán số học, thao tác chuỗi và biểu thức điều kiện trực tiếp từ dòng lệnh. Bạn sẽ khám phá mục đích và cú pháp của lệnh expr
, học cách thực hiện các phép toán số học cơ bản và áp dụng nó cho thao tác chuỗi và biểu thức điều kiện. Lab này sẽ trang bị cho bạn kiến thức để sử dụng hiệu quả lệnh expr
trong quy trình làm việc hàng ngày trên 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 thao tác khác nhau, bao gồm tính toán số học, 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
là:
expr [option] expression
Ở đây, expression
là phép toán hoặc biểu thức mà bạn muốn đánh giá. Lệnh expr
có thể thực hiện các loại thao tác sau:
- Phép toán số học:
+
,-
,*
,/
,%
- Thao tác chuỗi:
match
,substr
,index
,length
- Các 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 cách sử dụ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à chia lấy dư. 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 diễn giải nó như một ký tự đại diện.
Bây giờ, hãy khám phá một số thao tác chuỗi bằng cách sử dụng expr
.
## Perform string manipulation
expr "Hello" : '\(.*\)'
expr "Linux is fun" : '.*is\(.*\)'
expr "www.example.com" : '.*\(.*\)\..*'
Ví dụ đầu ra:
Hello
fun
example
Trong những 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 cách sử dụ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à các phép toán logic. Dưới đâ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, chẳng hạn như cộng, trừ, nhân, chia và chia lấy dư.
Hãy bắt đầu bằng cách thực hiện một số phép toán số học:
## Addition
expr 12 + 5
Ví dụ đầu ra:
17
## Subtraction
expr 20 - 8
Ví dụ đầu ra:
12
## Multiplication
expr 6 \* 4
Ví dụ đầu ra:
24
## Division
expr 18 / 3
Ví dụ đầu ra:
6
## Modulo
expr 19 % 7
Ví dụ đầu ra:
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. Hãy nhớ thoát ký tự *
bằng dấu gạch chéo ngược (\*
) khi thực hiện phép nhân để ngăn shell diễn giải nó như một ký tự đại diện.
Bây giờ, hãy thử một số biểu thức số học phức tạp hơn:
## Complex expression
expr \( 10 + 5 \) \* 3 / 2 + 1
Ví dụ đầu ra:
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ự đánh giá. Biểu thức (10 + 5) * 3 / 2 + 1
được đánh giá như sau:
10 + 5 = 15
15 * 3 = 45
45 / 2 = 22.5
22.5 + 1 = 23.5
, được làm tròn xuống 26 bởi lệnhexpr
.
Áp dụng expr cho Thao tác 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
cho thao tác chuỗi và biểu thức điều kiện.
Hãy bắt đầu với thao tác chuỗi:
## Extract a substring
expr "Linux is fun" : '.*is\(.*\)'
Ví dụ đầu ra:
fun
Trong ví dụ này, chúng ta đã sử dụng toán tử match
với một biểu thức chính quy để trích xuất chuỗi con đứng sau từ "is" trong chuỗi đầu vào.
## Get the length of a string
expr "hello" : '.\{5\}'
Ví dụ đầu ra:
5
Ở đây, chúng ta đã sử dụng toán tử match
với một biểu thức chính quy để lấy độ dài của chuỗi "hello".
Bây giờ, hãy khám phá một số 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, chúng ta đã sử dụng lệnh expr
để thực hiện các phép toán so sánh, chẳng hạn 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 là đúng và 0
nếu điều kiện là 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 đã sử dụng các toán tử -eq
, -gt
, -ne
và -lt
để thực hiện các phép toán logic, chẳng hạn như AND (-a
) và OR (-o
).
Tóm tắt
Trong lab này, bạn đã tìm hiểu về mục đích và cú pháp của lệnh expr
trong Linux. Bạn đã khám phá cách sử dụng expr
để thực hiện các phép toán số học cơ bản, thao tác chuỗi và biểu thức điều kiện. Bạn đã khám phá ra rằng expr
có thể là một công cụ mạnh mẽ cho nhiều loại tính toán và tác vụ xử lý văn bản trong dòng lệnh. Lab cung cấp các ví dụ thực tế để chứng minh tính linh hoạt của lệnh expr
, trang bị cho bạn kiến thức để tận dụng nó một cách hiệu quả trong quy trình làm việc trên Linux.