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

Connected

道练习

如何让一条命令对每个文件各运行一次?

在编写循环时,您当然可以手动输入要处理的文件名, 但通常更好的做法是使用通配符。 请在控制台中运行下面这个循环:

for filename in seasonal/*.csv; do echo $filename; done

它会输出:

seasonal/autumn.csv
seasonal/spring.csv
seasonal/summer.csv
seasonal/winter.csv

这是因为在运行循环之前,shell 会先将 seasonal/*.csv 展开为包含 4 个文件名的列表。

说明

100 XP

将通配符表达式修改为 people/* 这样循环就会打印 people 目录中的所有文件名, 无论它们有没有后缀或后缀是什么。 请将循环变量命名为 filename。