1. Learn
  2. /
  3. 课程
  4. /
  5. Shell 入门

Connected

道练习

如何在一个循环中运行多条命令?

打印文件名有助于调试, 但循环的真正目的,是对多个文件执行操作。 下面这个循环会打印每个数据文件的第二行:

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

它与您之前见过的其他循环结构相同: 唯一不同的是,其循环体是由两条命令构成的管道,而不是单条命令。

说明

100 XP

编写一个循环,打印每个 seasonal 文件中 2017 年 7 月(2017-07)的最后一条记录。输出应与以下命令相似:

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

但需要对每个 seasonal 文件分别执行。请使用 file 作为循环变量名,并记得遍历文件列表 seasonal/*.csv(而不是示例中的 'seasonal/winter.csv')。