開始使用免費開始

如何在同一個迴圈中執行多個指令?

列印檔名對除錯很有幫助, 但迴圈的真正用途是一次處理多個檔案。 下面這個迴圈會列印每個資料檔的第 2 行:

for file in seasonal/*.csv; do head -n 2 $file | tail -n 1; done

它的結構和你已經看過的其他迴圈相同: 唯一不同的是,它的主體不是單一指令,而是由兩個指令組成的管線。

本練習屬於課程

Shell 入門

檢視課程

練習說明

撰寫一個迴圈,列印每個 seasonal 檔案中 2017 年 7 月(2017-07)的最後一筆記錄。輸出應與下列結果類似:

grep 2017-07 seasonal/winter.csv | tail -n 1

但要對每一個 seasonal 檔案分別執行。請使用 file 作為迴圈變數名稱,並記得要遍歷 seasonal/*.csv 這份檔案清單(而不是像範例中使用的『seasonal/winter.csv』)。

動手互動練習

將理論付諸實踐,立即體驗我們的互動練習

開始練習