当前位置:网站首页>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 .
边栏推荐
- 如何通过antd的upload控件,将图片以文件流的形式发送给服务器
- DM database password policy and login restriction settings
- Question 49: how to quickly determine the impact of IO latency on MySQL performance
- Educational Codeforces Round 115 (Rated for Div. 2)
- 力扣今日题-1200. 最小绝对差
- awk从入门到入土(18)gawk线上手册
- 广和通高性能4G/5G无线模组解决方案全面推动高效、低碳智能电网
- Display Chinese characters according to numbers
- Li Kou today's question -1200 Minimum absolute difference
- awk从入门到入土(6)正则匹配
猜你喜欢

Basic operations of databases and tables ----- view data tables
![[CV] Wu Enda machine learning course notes | Chapter 9](/img/de/41244904c8853b8bb694e05f430156.jpg)
[CV] Wu Enda machine learning course notes | Chapter 9

AI Winter Olympics | is the future coming? Enter the entrance of the meta universe - virtual digital human

Démarrage des microservices: passerelle

What sparks can applet container technology collide with IOT

MySQL relearn 1-centos install mysql5.7

ctfshow web255 web 256 web257

How to choose solid state hard disk and mechanical hard disk in computer

AcWing 244. Enigmatic cow (tree array + binary search)

Redis sentinel mechanism
随机推荐
2022 tower crane driver examination and tower crane driver examination questions and analysis
DM8 command line installation and database creation
How to play dapr without kubernetes?
Question 49: how to quickly determine the impact of IO latency on MySQL performance
How to play dapr without kubernetes?
Add log file to slim frame - PHP
Comparison between sentinel and hystrix
没有Kubernetes怎么玩Dapr?
yolov5 xml数据集转换为VOC数据集
The second session of the question swiping and punching activity -- solving the switching problem with recursion as the background (I)
[untitled] 2022 polymerization process analysis and polymerization process simulation examination
Internal learning
一文了解数据异常值检测方法
What sparks can applet container technology collide with IOT
What if the wireless network connection of the laptop is unavailable
A single element in an ordered array
How to re enable local connection when the network of laptop is disabled
一文了解數據异常值檢測方法
How to solve the problem of computer jam and slow down
Private collection project practice sharing [Yugong series] February 2022 U3D full stack class 007 - production and setting skybox resources