用shell指令碼巧妙統計檔案 r2筆記57天

2021-09-28 13:20:52 字數 922 閱讀 3272

在資料遷移的過程中,會產生大量的dump檔案,需要對dump的檔案情況進行乙個簡單清晰的管理,比如目錄下的檔案特別多,而且某些表比較大,對應的dump檔案比較多,就想得到乙個很簡潔的報告,能夠統計出來每個表有多少個dump檔案。

比如有1000個dump檔案,都是基於 表test1,test2,test3,test4的。那麼就想得到乙個簡單的統計報告,類似下面的形式

test1 100

test2 450

test3 300

test4 150

簡單模擬一下這個問題。

使用如下的指令碼a.sh來生成dump檔案吧。

for i in

生成這1000個dump檔案。

[ora11g@rac1 dump]$ ksh a.sh test1 100

[ora11g@rac1 dump]$ ll *.dmp|wc -l

簡單看一下生成的dump的情況。

首先需要得到的是在這個目錄下有幾個相關的表。

比如像目前的情況,就需要得到當前目錄下有

test1

test2

test3

test4

可以使用如下的命令來統計得到。

[ora11g@rac1 dump]$ ls -lrt *.dmp|awk ''|awk -f_ext ''|uniq

然後更近一步,怎麼得到每個表對應多少個dump檔案呢。

可以使用如下的指令碼b.sh來快速得到

ls -lrt *.dmp|awk ''|awk -f_ext ''|uniq|xargs -i echo "echo {} \`ls -lrt {}_ext_[0-9]*.dmp|wc -l \`>> tablst" >test.sh

[ora11g@rac1 dump]$ ksh b.sh

這樣檔案的統計工作就很清晰明了了。

Shell 指令碼統計檔案行數

示例 row count.s 件 awk row count.sh tail n1 awk end row count.sh grep n row count.sh awk f tail n1 sed n row count.sh wc l row count.sh cat row count.sh...

shell指令碼 C C 統計檔案單詞個數

1 用shell 指令碼獲取當前環境的ip位址?ifconfig grep inet addr grep 192.168.220 awk tr d addr 2 簡單統計單詞的個數 include define in 0 define out 1 define init out int countw...

shell指令碼統計檔案中單詞的個數

一 方案 方法一 1 cat file sed s g awk end 其中file為要操作的檔案,sed中 間有乙個空格。2 sed s g file awk end 1 和 2 效果一致。方法二 1 awk beginend file 這裡 f 表明每個詞用逗號分隔 nf其實是number of...