2014-06-05 56 views
-2

要求:Unix:所有文件的頭部,尾部,遞歸

文件夾中可能存在多個文件。對於每個文件,我想回顧每​​個文件的Top10,Bottom 10和Middle 10,並將其轉儲到一個文件中。

例如: 輸入文件:APPLE.TXT, ORAGNE.TXT , BANANA.TXT 輸出文件:Final.TXT其中將包含前10,底部10,中部以上每個文件的10。

Final.Txt將有:
Apple.txt
ABC
CDE
EFG
ORANGE.TXT
DEF
GEH
IJK

感謝你幫忙。

+0

你的問題是什麼?這只是一個家庭作業嗎? – PakkuDon

+0

向我們展示,直到你已經完成並且你有問題的地方 –

回答

3

這裏有幾個三分球,讓你開始:

使用head拿到前十行:

head -10 file 

到命令的輸出附加到文件,使用>>例如head -10 file >> output

使用tail得到最後十行:

tail -10 file 

使用sed獲得中旬線。您需要首先計算行號,如下所示:

total=$(wc -l < file) 
middle=$((total/2)) 
start=$((middle-4)) 
end=$((middle+5)) 
sed -n ${start},${end}p file 

當然,您應該首先檢查您的文件是否至少有十行。