2012-08-03 64 views
1

我有6個月的數據要經過,看起來像這樣遍歷每天轉儲目錄

0101 
0102 
. 
. 
0131 
0201 
0202 
. 
. 
all the way to 
0630 

我想通過每個目錄FO,並以每週上的內容執行一個awk文件,或做方式(每7個目錄將使數據

一週有一種簡單的方式AWK或Python這樣做呢?

千恩萬謝

+1

在python中,查看'os.walk'和'subprocess.call'。在這兩個和你的awk腳本之間,你應該可以很容易地做到這一點。 – mgilson 2012-08-03 18:55:43

回答

1

您可以使用從@nya awk的語法修正由於輸入:走你的樹和xargs應用您的awk腳本:

find . -type f | xargs awk -f awkfile 

編輯。我不是AWK專家。

+0

+1;會發布類似的東西。如果我在每個目錄中都有Python的東西,但是隻運行'awk',我會用Python嗎? shell更可能是這項工作的正確工具。 – zigg 2012-08-03 19:13:00

+1

@zigg:同意了,我們將悄然避免提及'perl' ... – khoxsey 2012-08-03 19:15:00

+0

順便說一句,您需要'-f'選項來運行awk文件,否則awk會將其參數解釋爲程序文本 – 2012-08-03 19:16:58

0

爲什麼不使用plain bash?你可以試試這個: find . -type f -exec awk -f 'your_awk_script.awk' {} \;

find通過遍歷目錄,並在-exec選項可以執行給定的COMAND(在這種情況下awk -f your_awk_script.awk)上的每個文件({}是參數的默認佔位符)。

要每七天運行一次這個小腳本,請查看cron