假设我在特定目录中有以下文件。
ABC_TEXT_FILE_365.csv
ABC_TEXT_FILE_365_07h32.csv
BCD_TEXT_FILE_432.csv
BCD_TEXT_FILE_432_08h28.csv
FGB_TEXT_FILE_567.csv
FGB_TEXT_FILE_567_09h45.csv
现在我只想读取其中包含 h*.csv 模式的文件,然后执行更多操作。
但我知道在读取文件名时
将读取所有文件名仪式。?有没有解决方法。请帮忙
最佳答案
我猜你的意思是所有匹配 *h*.csv
的文件,在这种情况下你可能想使用这样的 for
循环:
for i in *h*.csv; do
while read line; do
# do some stuff, e.g. echo "$line"
done < "$i"
done
如果您可能有任何与该模式匹配的目录,您可能还想添加一个测试以确保循环中的每个项目都是一个文件。那将是:
for i in *h*.csv; do
if [ -f "$i" ]; then
while read line; do
echo "$line"
done < "$i"
fi
done
关于linux - 如何使用 while 循环仅读取特定模式的文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25091512/