Làm sao chạy nhiều lệnh trong một vòng lặp duy nhất?
In tên tệp rất hữu ích để gỡ lỗi, nhưng mục đích thực sự của vòng lặp là xử lý nhiều tệp. Vòng lặp này in ra dòng thứ hai của mỗi tệp dữ liệu:
for file in seasonal/*.csv; do head -n 2 $file | tail -n 1; done
Nó có cùng cấu trúc với các vòng lặp bạn đã thấy trước đó: điểm khác biệt là phần thân của nó là một pipeline gồm hai lệnh thay vì một lệnh đơn.
Bài tập này là một phần của khóa học
Nhập môn Shell
Hướng dẫn bài tập
Hãy viết một vòng lặp in ra mục cuối cùng của tháng 7 năm 2017 (2017-07) trong mỗi tệp seasonal. Vòng lặp nên cho đầu ra tương tự như:
grep 2017-07 seasonal/winter.csv | tail -n 1
nhưng áp dụng riêng cho từng tệp seasonal. Vui lòng dùng file làm tên biến vòng lặp, và nhớ lặp qua danh sách tệp seasonal/*.csv (thay vì 'seasonal/winter.csv' như trong ví dụ).
Bài tập tương tác thực hành
Biến lý thuyết thành hành động với một trong các bài tập tương tác của chúng tôi
Bắt đầu bài tập