sh脚本按行读取列表文件每行的文件名
时间: 2024-10-10 15:12:04 浏览: 32
shell脚本读文件方法和例子
4星 · 用户满意度95%
在Shell脚本中,如果你想逐行读取一个名为`file_list.txt`的文件,其中包含一组文件名,你可以使用`while`循环结合`read`命令来实现。以下是一个简单的示例:
```bash
#!/bin/bash
# 检查文件是否存在
if [ ! -f "file_list.txt" ]; then
echo "Error: 文件 file_list.txt 不存在"
exit 1
fi
# 使用 while 循环逐行读取文件
while IFS= read -r line; do
# 检查当前行是否为空
if [ -n "$line" ]; then
# 提取文件名
filename="${line}"
# 在这里你可以做你需要做的事情,比如执行某个操作或打印文件名
echo "当前文件名是: $filename"
else
echo "这是文件列表的最后一行"
fi
done < file_list.txt
# 结束后记得关闭文件句柄
```
在这个例子中,`IFS=` 设置了输入字段分隔符为默认值(空格、制表符和换行符),`-r`选项防止转义字符的影响,`-n`用于检查行是否为空。
阅读全文