我的計算機上有一個目錄,其中包含我在網上找到的用於研究的整個數據庫。這個數據庫包含成千上萬的文件,所以爲了做我所需要的,我一直在研究文件I/O的東西。程序員朋友建議使用bash/awk。我寫了我的代碼:使用awk處理數據庫
#!/usr/bin/env awk
ls -l|awk'
BEGIN {print "Now running"}
{if(NR == 17/$1 >= 0.4/$1 <= 2.5)
{print $1 > wavelengths.txt;
print $2 > reflectance.txt;
print $3 > standardDev.txt;}}END{print "done"}'
當我把它放到我的控制檯時,我已經在我需要訪問的文件的目錄中。我需要的數據從EVERY文件的第17行開始。數據是這樣的:
some number some number some number
some number some number some number
. . .
. . .
. . .
我要訪問數據時,第一列的值0.4(或約),並獲取信息,直到第一列具有大約2.5的值。第一列代表波長。我想驗證它們對於每個文件都是相同的,因此我將它們複製到一個文件中。第二列代表反射率,我希望這是一個單獨的文件,因爲稍後我將獲取這些信息並從中建立數據矩陣。第三列是反射率的標準偏差。
我現在遇到的問題是,當我運行此代碼,我得到以下錯誤:沒有這樣的文件或目錄
請,如果有人能告訴我爲什麼我可能會得到這個錯誤,還是可以的指導我如何編寫我正在嘗試做的代碼......我將非常感激。
不看你的代碼,你一定要'ls',不'LS -l'。 –