中文字幕亚洲第一精品|精品国产免费一区二区|久久婷婷五月六月综合版|中文字幕熟妇久久久人妻|久久综合精品国产一区无码|国产成人精品永久免费视频|午夜亚洲国产精品理论片a级|久久精品一区二区三区无码护土

 訪問手機(jī)版  

Linux常用命令|Linux培訓(xùn)學(xué)習(xí)|考試認(rèn)證|工資待遇與招聘,認(rèn)準(zhǔn)超級網(wǎng)工!

招聘|合作 登陸|注冊

網(wǎng)絡(luò)工程師培訓(xùn)

當(dāng)前位置:網(wǎng)絡(luò)工程師 > 技術(shù)課程 > linux > 熱點(diǎn)關(guān)注 > linux常用命令

helloworldlee

時(shí)間:2019-08-11

linux命令_linux命令_linux vi命令

linux命令之a(chǎn)wk

簡介

awk命令的名稱是取自三位創(chuàng)始人Alfred Aho 、Peter Weinberger 和 Brian Kernighan姓名的首字母,awk有自己的程序設(shè)計(jì)語言,設(shè)計(jì)簡短的程序,讀入文件,數(shù)據(jù)排序,處理數(shù)據(jù),生成報(bào)表等功能。

awk 通常用于文本處理和報(bào)表生成,最基本功能是在文件或者字符串中基于指定規(guī)則瀏覽和抽取信息,awk抽取信息后,才能進(jìn)行其他文本操作。

awk 通常以文件的一行為處理單位的,awk每接收文件的一行,然后執(zhí)行相應(yīng)的命令,來處理文本,完整的awk腳本通常用來格式化文本文件中的信息

使用方式

awk'{pattern + action}'{filenames}

pattern 表示 AWK 在數(shù)據(jù)中查找的內(nèi)容,正則表達(dá)式,用斜杠括起來

action 是在找到匹配內(nèi)容時(shí)所執(zhí)行的一系列命令

linux命令_linux vi命令_linux命令

花括號({})不需要在程序中始終出現(xiàn),但它們用于根據(jù)特定的模式對一系列指令進(jìn)行分組

使用說明

[hebinbin@iZ25y8wtfbqZ ~]$ awk '{print $0}' /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin

依次對/etc/passwd中的每一行執(zhí)行print命令,所有輸出都發(fā)送到stdout,所得到的結(jié)果與執(zhí)行cat /etc/passwd完全相同

$0 $n表示

-F參數(shù):指定分隔符linux命令,可指定一個(gè)或多個(gè)

root@iZ25me8kko3Z:~# awk -F "/" -F ":" '{ print $1 " " $9 " " $0 }' /etc/passwd
root  root:x:0:0:root:/root:/bin/bash
daemon  daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin  bin:x:2:2:bin:/bin:/bin/sh
sys  sys:x:3:3:sys:/dev:/bin/sh
root@iZ25me8kko3Z:~# awk '{if(NR>=20 && NR<=30) print $1}' test.txt
sock.close()
print('%s
break
elif
data
data
#print(data)
#print(clients)
#if
if
print(data)

linux vi命令_linux命令_linux命令

awk在開始處理輸入文件之前會(huì)執(zhí)行BEGIN塊,處理了輸入文件中的所有行之后執(zhí)行END塊

root@iZ25me8kko3Z:~# awk '{count++;print $0;} END{print "user count is ",count}' /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
.................
user count is  47

count是自定義變量,沒有初始化默認(rèn)是0linux命令,action{}中的多個(gè)語句用 ;隔開

root@iZ25me8kko3Z:~# awk 'BEGIN {count=0;print "[start] user count is ",count} {count=count+1;print $0} END{print "[end] user count is ",count}' /etc/passwd
[start] user count is  0
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
.....................
[end] user count is  47
 上一個(gè)教程:Linux解壓命令大全