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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

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

發布時間:2024/10/8 linux 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux脚本让我选择文件,linux – 用于选择文件和打印文件大小的Awk脚本 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我們在這看……

select all regular files (not directories or links)

到目前為止,你還沒有解決這個問題,但如果你在ls -l …的輸出中輸入,這很容易,請選擇

/^-/

因為目錄以d開頭,符號鏈接以l開頭,依此類推.只有普通舊文件以 – 開頭.現在

print out the number of files followed

好吧,計算比賽很容易……

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

/^-/ {count++;}

要獲取文件名和大小,請查看ls -l的輸出并計算列數

BEGIN{count=0}

/^-/ {

count++;

SIZE=$5;

FNAME=$9;

}

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

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";

}

給出類似的輸出

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

(順便說一句 – 這里有一個測試子目錄,你會注意到它沒有出現在輸出中.)

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。