欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

linux循環(huán)語(yǔ)句命令 linux循環(huán)控制語(yǔ)句

如何在linux命令行中循環(huán)執(zhí)行命令

1、for FILE in $(ls); do [COMMAND]; done

創(chuàng)新互聯(lián)主要從事網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)通化,十載網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):13518219792

2、for a in {1..100}; do echo $RANDOM; done

3、for (( c=1; c=5; c++ )); do echo $RANDOM; done

4、for ((c=1; c21; c+=2)); do echo "Welcome $c times" ; done

5、for line in $(cat user.txt); do getent shadow $line; done

6、for FILE in $(cat file); do tar zcf $FILE.tar.gz $FILE;rm -rf $FILE; done

7、# awk計(jì)算所有行所有區(qū)域的總和

awk '{for (i=1; i=NF; i++) s=s+$i}; END{print s}'

Linux入門(mén)系列——awk命令詳解

awk是一個(gè)強(qiáng)大的文本分析工具,與grep、sed相比,awk在對(duì)數(shù)據(jù)分析并生成報(bào)告時(shí),顯得有很大的優(yōu)勢(shì)。

awk有三個(gè)不同的版本:awk、nawk和gawk,在沒(méi)有做特殊說(shuō)時(shí)的時(shí)候默認(rèn)的就是gawk,gawk是awk的GNU版本。

其中command是真正的awk命令,-F表示域的分隔符,是個(gè)可選項(xiàng)。Filename是等待處理的文件

將所有的awk命令寫(xiě)入到一個(gè)文件,并使用該文件有X權(quán)限,然后awk命令解釋器作為腳本的首行,也就是說(shuō)可以把腳本最開(kāi)始的 #!/bin/bash 換成 #!/bin/awk

最后直接執(zhí)行這個(gè)腳本文件就行了。

-f 指定要加載的awk腳本,是一個(gè)文件。Filename是等待處理的文件

awk的工作流程是這樣的:讀入一行后(最后面帶有” ”的),就按-F指定的分隔符來(lái)將該行劃分成N個(gè)區(qū)域,$0表示所有的區(qū)域,$1表示第一個(gè)域,$2表示第二個(gè)域,依此類(lèi)推,$n表示第n個(gè)域。

總結(jié):awk先執(zhí)行BEGIN內(nèi)的命令,然后再讀入文件中的行,接著就是按照指定的分隔符將該行分成N個(gè)區(qū)域,然后再來(lái)執(zhí)行模式所對(duì)應(yīng)的動(dòng)作action。然后,再來(lái)讀入第二行。。再重復(fù)執(zhí)行action,直到所有的行都處理完成。最后再執(zhí)行END中的命令。

注意:' // '之間是支持正則表達(dá)式的,如果此處只有pattern,而沒(méi)有action,那么awk默認(rèn)會(huì)把匹配到的行打印出來(lái)。

awk中的print還可以使用C語(yǔ)言中的printf來(lái)替代。在輸出格式比較復(fù)雜的時(shí)候使用printf函數(shù)會(huì)比print函數(shù)要更直觀一些,如下:

還可以使用-v key=value來(lái)自定義變量。如下:

awk中的條件語(yǔ)句是從C中借鑒過(guò)來(lái)的

語(yǔ)法:if (condition) {then-body} else {else-body}

例如使用awk來(lái)統(tǒng)計(jì)某個(gè)目錄下的普通文件的大小,不包括子目錄的,并過(guò)濾掉目錄。

循環(huán)語(yǔ)句也和C中的一樣,支持while、do/while、for、continue、break等關(guān)鍵字。

break和continue常用于循環(huán)中;

在awk中,數(shù)組的下標(biāo)可以是數(shù)字或字母。一般awk中的數(shù)組的作用是從記錄中收集信息,用于計(jì)算總和、統(tǒng)計(jì)單詞等。

在awk中要?jiǎng)h除一個(gè)元素的時(shí)候使用 delete array[index]

更多請(qǐng)參見(jiàn)awk官方文檔[]

Linux Shell:Shell循環(huán)語(yǔ)句

摘要: Linux , Shell

Shell中常用循環(huán)有 for , while

for循環(huán)只能用于 固定次數(shù) 的循環(huán),因此不能無(wú)限循環(huán)和用于一些在后臺(tái)守護(hù)進(jìn)程一直運(yùn)行的程序,語(yǔ)法語(yǔ)句如下

也可以寫(xiě)成一行,用 ; 分隔

取值列表內(nèi)元素以空格隔開(kāi),如果元素帶有空格則用引號(hào)包裹起來(lái),例子如下

輸出如下,可見(jiàn)循環(huán)到最后退出循環(huán),引用變量依舊是最后一個(gè)取值列表元素

一行的寫(xiě)法

Shell的for循環(huán)也可以采用C語(yǔ)言的寫(xiě)法,注意是 雙括號(hào) ,用 分號(hào); 間隔

一個(gè)簡(jiǎn)單例子

while循環(huán)語(yǔ)句結(jié)合條件測(cè)試使用,語(yǔ)法如下

舉一個(gè)例子

在循環(huán)中使用條件測(cè)試實(shí)現(xiàn)復(fù)雜的邏輯,例如

也可以使用,||一行完成,省去if,fi

Shell的continue,break語(yǔ)句和Python一樣,例子如下

break語(yǔ)句下輸出4

continue語(yǔ)句下輸出4 6 7 8 9 10

常見(jiàn)結(jié)合使用的循環(huán)體有 序列 , 數(shù)組 , 命令行傳參 , 文件目錄和文件

序列通過(guò) seq 命令或者 {begin..end..step} 符號(hào)進(jìn)行定義:

結(jié)合for循環(huán)使用案例

在Shell中使用小括號(hào) () 定義數(shù)組,數(shù)組遍歷使用 [@] 符號(hào),防止元素有空格用雙引號(hào)包起來(lái),,例子如下

命令行傳參遍歷使用固定符號(hào) $@ ,如果參數(shù)中有空格,用雙引號(hào)括起來(lái),例子如下

文件遍歷使用 ls 命令,可以指定目錄,以及通配符匹配

一個(gè)雙重循環(huán)實(shí)現(xiàn),注意 expr表達(dá)式中乘號(hào)要加轉(zhuǎn)移符

(2)將某目錄下大小大于閾值的文件移動(dòng)到另一個(gè)文件

遍歷循環(huán)一個(gè)目錄,使用awk語(yǔ)法獲得文件大小,將100m以上的文件移動(dòng)到另一個(gè)文件夾

(2)指定開(kāi)始日期和結(jié)束日期完成一個(gè)跑批任務(wù)

指定一個(gè)開(kāi)始時(shí)間和結(jié)束時(shí)間,while從開(kāi)始日期一直自增到結(jié)束日期循環(huán)結(jié)束,通過(guò) date -d '2021-01-01 1day' +%Y-%m-%d 自增一天

當(dāng)前文章:linux循環(huán)語(yǔ)句命令 linux循環(huán)控制語(yǔ)句
網(wǎng)頁(yè)URL:http://chinadenli.net/article4/dogepie.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、網(wǎng)站排名、網(wǎng)站維護(hù)、網(wǎng)站改版、網(wǎng)站設(shè)計(jì)公司App設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁(yè)設(shè)計(jì)