📅  最后修改于: 2023-12-03 15:24:38.350000             🧑  作者: Mango
在Shell或Bash脚本中,常见的任务是迭代文件夹中的所有文件,并对每个文件执行某些操作。在此过程中,您可能需要在处理文件名时对其进行切片,以便只使用其名称而不包括扩展名。
以下是一个简单的示例,演示如何使用for循环在Shell或Bash中迭代文件夹中的所有文件并对其进行切片:
#!/bin/bash
# 定义文件夹路径
folder_path="/Users/username/documents/test"
# 迭代文件夹中的所有文件
for file in ${folder_path}/*
do
# 切片文件名以获取其名称而不包括扩展名
filename=$(basename "$file")
filename="${filename%.*}"
# 在这里执行您的操作,例如将文件名添加到日志文件中
echo "处理文件:${filename}"
done
在上面的示例中,我们首先定义了文件夹路径并使用*通配符来迭代文件夹中的所有文件。在for循环中,我们使用basename函数获取文件名,并使用%.*来删除扩展名。
在for循环内的任何其他命令都可以使用filename变量来引用当前迭代的文件名。
此外,您可以使用其他字符串操作来切片文件名,例如:
我们希望这个简短的教程能够帮助您学习如何在Shell或Bash中切片循环的文件名。