日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > linux >内容正文

linux

Linux脚本让我选择文件,linux – 用于选择文件和打印文件大小的Awk脚本

發(fā)布時(shí)間:2024/10/8 linux 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux脚本让我选择文件,linux – 用于选择文件和打印文件大小的Awk脚本 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

我們?cè)谶@看……

select all regular files (not directories or links)

到目前為止,你還沒(méi)有解決這個(gè)問(wèn)題,但如果你在ls -l …的輸出中輸入,這很容易,請(qǐng)選擇

/^-/

因?yàn)槟夸浺詃開(kāi)頭,符號(hào)鏈接以l開(kāi)頭,依此類(lèi)推.只有普通舊文件以 – 開(kāi)頭.現(xiàn)在

print out the number of files followed

好吧,計(jì)算比賽很容易……

BEGIN{count=0} # This is not *necessary*,but I tend to put it in for clarity

/^-/ {count++;}

要獲取文件名和大小,請(qǐng)查看ls -l的輸出并計(jì)算列數(shù)

BEGIN{count=0}

/^-/ {

count++;

SIZE=$5;

FNAME=$9;

}

這里最大的困難是awk沒(méi)有通過(guò)排序原語(yǔ)提供太多,所以這是困難的部分.如果你想要聰明但不是特別有效,那就可以打敗(看看我在a [code-golf] solution所做的糟糕事情).容易(和unixy)做的事情是管道輸出的一部分進(jìn)行排序,所以…我們?yōu)槊總€(gè)文件收集一行到一個(gè)大字符串

BEGIN{count=0}

/^-/ {

count++

SIZE=$5;

FNAME=$9;

OUTPUT=sprintf("%10d\t%s\n%s",SIZE,FNAME,OUTPUT);

}

END{

printf("%d files\n",count);

printf(" SIZE \tFILENAME"); # No newline here because OUTPUT has it

print OUTPUT|"sort -n --key=1";

}

給出類(lèi)似的輸出

11 files

SIZE FILENAME

673 makefile

2192 houghdata.cc

2749 houghdata.hh

6236 testhough.cc

8751 fasthough.hh

11886 fasthough.cc

19270 HoughData.png

60036 houghdata.o

104680 testhough

150292 testhough.o

168588 fasthough.o

(順便說(shuō)一句 – 這里有一個(gè)測(cè)試子目錄,你會(huì)注意到它沒(méi)有出現(xiàn)在輸出中.)

總結(jié)

以上是生活随笔為你收集整理的Linux脚本让我选择文件,linux – 用于选择文件和打印文件大小的Awk脚本的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。