0. 环境要求
- shell环境:mac 或 linux 或 cygwin
1. 按目录结构拷贝部分文件
想结合着通配符(ls命令支持的那种),将指定目录下的部分文件带着目录结构筛选出来,拷贝到另一个目录下。
例如:一个多module到mvn项目,将所有子项目src/main/resources目录下的yml文件拷贝出来备份。
1 | $ ls -1 */src/main/resources/*.yml |
相关命令
- ls – list directory contents
- cpio – copy files to and from archives
- tree - list contents of directories in a tree-like format
2. 生成批量操作脚本
对于给定的参数列表,生成批量操作脚本。例如:给定一个文件或目录列表,批量删除
1 | $ ls -d1 *service*/target |
对于生成的批量脚本,可以拷贝粘贴执行,也可以直接执行:
1 | $ ls -d1 *service*/target | awk '{print "rm -rfv "$1}' | sh |
docker 批量删除镜像
1 | $ docker images |grep {your-image-name} | awk '{print "docker rmi "$3}' |
3. shell下的时间转换
时间转epoch seconds
1 | $ date "+%s" |
epoch seconds 转时间
1 | $ date -r 1567568345 |