当前位置:网站首页>Awk from entry to earth (12) awk can also write scripts to replace the shell
Awk from entry to earth (12) awk can also write scripts to replace the shell
2022-07-04 08:46:00 【Wonderful binary】
summary
And write shell The script is pretty much , First, the first line declares the interpreter path , For example, on my system ,awk The tool is installed in /user/bin/awk Catalog , So my awk The script starts with the following :
#! /usr/bin/awk -f
The explanation of the above line is as follows :
- #! , It's called Shi Pang , Indicate which interpreter is used to execute the commands in the script ;
- /usr/bin/awk , Interpreter ;
- -f , Interpreter options , Used to specify the program file to read ;
Say so , Now start with the following simple example , Let's delve into some executable awk Script . Create a new file using your favorite editor , Like this :
$ vi script.awk
Then paste the following code into the file :
#!/usr/bin/awk -f
BEGIN { printf "%s\n","Writing my first awk executable script!" }
Save the file and exit , Then execute the following command , Make the script executable :
$ chmod +x script.awk
then , Execute it :
$ ./script.awk
sample output :
Writing my first awk executable script!
Add notes

A strict programmer will ask :“ A comment? ?”. Yes , You can awk The script contains comments . Writing comments in code is a good programming habit . It helps other programmers read your code , Understand the function of each part of the program file or script . therefore , You can add comments to the script like this :
#!/usr/bin/awk -f
# How is this in awk An example of writing comments in
# Use special mode BEGIN To output a sentence
BEGIN { printf "%s\n","Writing my first awk executable script!" }
Next, let's look at an example of reading a file . We want to get the account file /etc/passwd Find a person named aaronkilik Users of , Then print the user name like this 、 User ID、 User GID :
The following is the content of our script file , The file named second.awk.
#! /usr/bin/awk -f
# Use BEGIN Specify characters to set FS Built-in variables
BEGIN { FS=":" }
# Search for user name aaronkilik And output account details
/aaronkilik/ { print "Username :",$1,"User ID :",$3,"User GID :",$4 }
Save the file and exit , Make the script executable , Then execute it like this :
$ chmod +x second.awk
$ ./second.awk /etc/passwd
sample output :
Username : aaronkilik User ID : 1000 User GID : 1000
In the last example below , We will use do while Statement to print numbers 0-10:
The following is the content of our script file , The file named do.awk.
#! /usr/bin/awk -f
#printing from 0-10 using a do while statement
#do while statement
BEGIN {
#initialize a counter
x=0
do {
print x;
x+=1;
}while(x<=10)
}
After saving the file , Make the script executable as before . then , Run it :
$ chmod +x do.awk
$ ./do.awk
sample output
0
1
2
3
4
5
6
7
8
9
10
summary
We have reached this wonderful awk The end of the series , I hope you have learned a lot from past articles , Think of these as you awk Introduction to programming language . I mentioned it from the beginning ,awk Is a complete text processing language , So you can learn a lot awk Other aspects of programming languages , For example, environment variables 、 Array 、 function ( Built in or user-defined ), wait .
边栏推荐
- Group programming ladder race - exercise set l1-006 continuity factor
- PHP session variable passed from form - PHP
- The basic syntax of mermaid in typera
- C, Numerical Recipes in C, solution of linear algebraic equations, Gauss Jordan elimination method, source code
- 小程序容器技术与物联网 IoT 可以碰撞出什么样的火花
- awk从入门到入土(18)gawk线上手册
- 团体程序设计天梯赛-练习集 L1-006 连续因子
- Four essential material websites for we media people to help you easily create popular models
- awk从入门到入土(11)awk getline函数详解
- Conversion of yolov5 XML dataset to VOC dataset
猜你喜欢

小程序容器技术与物联网 IoT 可以碰撞出什么样的火花

转:优秀的管理者,关注的不是错误,而是优势

Newh3c - network address translation (NAT)

DM database password policy and login restriction settings

Bishi blog (13) -- oral arithmetic test app

How can we make a monthly income of more than 10000? We media people with low income come and have a look

Snipaste convenient screenshot software, which can be copied on the screen

A method for detecting outliers of data

What if I forget the router password

DM8 tablespace backup and recovery
随机推荐
Laravel page load problem connection reset - PHP
If the array values match each other, shuffle again - PHP
随机事件的关系与运算
MySQL relearn 1-centos install mysql5.7
DM8 database recovery based on point in time
Newh3c - network address translation (NAT)
Technology sharing | MySQL parallel DDL
Difference between static method and non static method (advantages / disadvantages)
Industry depression has the advantages of industry depression
Conversion of yolov5 XML dataset to VOC dataset
SSRF vulnerability exploitation - attack redis
没有Kubernetes怎么玩Dapr?
How college students choose suitable computers
Snipaste convenient screenshot software, which can be copied on the screen
Comprendre la méthode de détection des valeurs aberrantes des données
Convert datetime string to datetime - C in the original time zone
Webapi interview question summary 01
Go zero micro service practical series (IX. ultimate optimization of seckill performance)
Redis sentinel mechanism
Flutter 集成 amap_flutter_location