我需要处理目录中的大量文件.可以根据文件名将文件分区为多个组.也就是说,文件名可以是模式匹配的,它们属于"组".例如,名称是这样的:
等......
每个"组"具有不同的处理方法(即,要求处理不同的命令).
我想写一个bash脚本:
我在Ubuntu 10.0.4上运行.我是bash的新手,并希望能够帮助我开始编写这个脚本的骨架代码片段.
cdh*_*wie 48
最简单的方法可能就是分别迭代每个组.这方面完全解决了解析问题.
DIRECTORY=.
for i in $DIRECTORY/YYYYMMDD_*_bulk_import.csv; do
# Process $i
done
for i in $DIRECTORY/YYYYMMDD_*_genstats_import.csv; do
# Process $i
done
for i in $DIRECTORY/YYYYMMDD_*allstats.csv; do
# Process $i
done
Run Code Online (Sandbox Code Playgroud)
设置DIRECTORY为您要搜索的目录.默认.将搜索当前工作目录.
这是对文件的基本迭代,使用switch块来确定文件类型.
#!/bin/bash
for f in *; do
case $f in
[0-9]*_bulk_import.csv)
echo $f case 1
;;
[0-9]*_genstats_import.csv)
echo $f case 2
;;
[0-9]*allstats.csv)
echo $f case 3
;;
esac
done
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
36545 次 |
| 最近记录: |