我需要从目录/tmp/log
中的文件中提取数据。
我从单个文件中提取没有问题。
#!/bin/bash
while read line;
do
echo $line
done < /tmp/log/file1
我想尝试使用多个文件/tmp/log/*
,但它返回错误ambiguous redirect
。
知道我怎么能围绕它?
答案 0 :(得分:7)
您可以按如下方式读取for循环中的文件:
for file in /tmp/log/*; do
while read -r line; do
echo "$line"
done < "$file"
done
策略只是用for循环包装你的while循环,它一次一个地处理每个文件。
答案 1 :(得分:0)
不知道你到底需要什么.. 可能你正在寻找这个:
cat /tmp/log/*
这是你需要的吗?
for line in `cat /tmp/log/*`
do
echo $line
done