Bash 中的 For 循环详解(2)

for i in {1..5}; do if [[ "$i" == '2' ]]; then continue fi echo "Number: $i" done

Number: 1 Number: 3 Number: 4 Number: 5

For 循环示例 重命名文件名中包含空格的文件

下面的示例演示如何使用 Bash for 循环通过将空格替换为下划线来重命名当前目录中的所有文件,并在其名称中包含空格。

for file in *\ *; do mv "$file" "${file// /_}" done

让我们逐行分解代码:

更改文件扩展名

以下示例显示如何使用 Bash for 循环通过将文件扩展名从 .jpeg 替换为 .jpg 来重命名当前目录中以 .jpeg 结尾的所有文件。

for file in *.jpeg; do mv -- "$file" "${file%.jpeg}.jpg" done

让我们逐行分析代码:

第一行创建一个 for 循环,并遍历一个包含 .jpeg 结尾的所有文件的列表。

第二行适用于列表中的每个项目,并将文件移动到一个用 .jpg 替换 .jpeg 的新文件。该部分 ${file%.jpeg }使用 shell 参数扩展从文件名中删除 .jpeg 部分。

done 表示循环段的结束。

结论

到目前为止,您应该很好地理解如何使用 bash for 循环遍历列表。

如果您有任何问题,请随时发表评论。

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/11821.html