shell脚本遍历当前目录下以数字命名的目录,并打印
#!/bin/bash single='' #定义以个位数为目录的集合
double='' #定位十位数为目录的集合
#按照需要可以根据实际情况再定义以百位数为目录的集合 for dir in `ls -d [0-9]*` #开始遍历
do
if [ `ls -d [0-9]* | wc -l` -ge 10 ];then #判断当前的目录总数是否大于等于10
if [ `echo $dir | wc -c` = 2 ];then #判断是否为个位数的目录
single="${single} $dir" #加入到集合中
else
double="${double} $dir" #加入到集合中
fi
fi done for dirname in ${single}
do
echo "#TODO $dirname"
done
for dirname in ${double}
do
echo "#TODO $dirname"
done #echo ${single}
#echo ${double} 遍历目录,并删除掉一些目录的方法
#!/bin/bash root_path="/opt/path"
for dir in `ls ./`
do
cd "${root_path}/${dir}"
echo "${dir}==dir"
for subdir in `ls ./`
do
cd "${root_path}/${dir}/${subdir}"
echo "${subdir}==sub dir."
for ssdir in `ls -t | awk 'NR>40{print $1}'`
do
echo "ssdir==${ssdir}"
echo "abs path=${root_path}/${dir}/${subdir}/${ssdir}/"
rm -rf ${root_path}/${dir}/${subdir}/${ssdir}
ls ${root_path}/${dir}/${subdir}/${ssdir}
done
done done
all_ports=`echo ${all_ports} | sed -e "s/,${port},/,/g"`
change(){
rep=$1
posts=`get_port`
port=`echo ${posts} | awk -F , '{print $2}'`
ja="ja_co_co=\" -javaagent:${JACOCOAGENT}=includes=\*,output=tcpserver,port=${port},address=\*,append=true\""
if [ -f "${ss}" ];then
echo "${rep} === ${posts}"
echo "${ss}"
sed -i "/^[[:space:]]*nohup java/i\\${ja}" ${ss}
sed -i "s/^[[:space:]]*nohup java/& \$\{ja_co_co\}/g" ${ss}
#sed -i "/^${rep}/a${rep}=\"\ \$\{${rep}\}\ ${arg}\ \"" ${ss}
fi }
shell脚本遍历当前目录下以数字命名的目录,并打印的更多相关文章
- proc文件系统探索 之 以数字命名的目录
在proc根目录下,以数字命名的目录表示当前一个运行的进程,目录名即为进程的pid.其内的目录和文件给出了一些关于该进程的信息. niutao@niutao-desktop:/proc/6584$ l ...
- PHP和shell脚本遍历目录及其下子目录
用shell写了个递归遍历目录的脚本,本脚本实现递归遍历指定目录,打印目录下的文件名(全路径). #!/bin/sh function scandir() { local cu ...
- $CRS_HOME/cdata下大量数字命名的文件,占用空间大
问题现象: <CRS_HOME>/cdata目录下存在大量数字命名的文件,导致文件系统爆满 $ls -alrth /opt/oracle/product/CRS/cdata/crs ...
- 关于windows下编写的shell脚本在linux下无法运行报错问题
首先,你写的shell脚本必须是正确的, 其次,无法运行的原因:因为windows下的换行是两个字节,而你上传到linux,linux下换行是两个字节,所以编译的酒不正确的,导致无法 运行脚本, 这种 ...
- Linux shell 脚本攻略之批量重命名
摘自:<Linux shell 脚本攻略>
- 170509、文本编辑器编写的shell脚本在linux下无法执行的解决方法
今天碰到一个奇怪的问题,编写好的shell脚本再linux上执行一直提示找不到文件或目录,后来想想是文本编辑器的问题,记录下来!!! 1.查看当前文本格式 Notepad++界面中,在右下角有文件格式 ...
- Linux入门第五天——shell脚本入门(下)基础语法之调试debug
一.如何debug 1.通过sh命令的参数: sh [-nvx] scripts.sh 选项与参数: -n :不要执行 script,仅查询语法的问题: -v :再执行 sccript 前,先将 sc ...
- linux shell 脚本攻略学习15--如何只列出目录,如何快速切换目录
工作中经常遇到关于目录方面的问题,例如,如何只列出当前目录下的所有目录,以及如何快速高效的切换目录,而不需要使用鼠标,下面将简单介绍关于这两方面的解决方案: 一.如何只列出目录? 看似简单的任务,其实 ...
- bat遍历当前目录下的文件,批量重命名
@echo off setlocal enabledelayedexpansion for %%x in (*) do ( if not "%%x"=="demo.bat ...
随机推荐
- JavaScript 字符串与json对象互转的几种方法
第一种:浏览器支持的转换方式(Firefox,chrome,opera,safari,ie)等浏览器: JSON.parse(jsonstr); //可以将json字符串转换成json对象 JSON. ...
- ImportError: No module named 'requests.packages.urllib3'
场景:CentOS 7 运行微信告警脚本报错 原因:requests库版本问题 解决方法: sudo pip install requests urllib3 pyOpenSSL --force -- ...
- Javadoc转换chm帮助文档的四种方法总结
1) 将现有的 html 文件集(比如 api) 制作成chm 文档 http://www.blogjava.net/lishunli/archive/2010/01/07/308618.html 我 ...
- java发送邮件无法显示图片 图裂 的解决办法
package com.thinkgem.jeesite.common.utils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; ...
- centos 7 查询mysql 安装 运行位置
whereis mysql 安装路径 which mysql 运行文件路径 找到 /usr/bin/mysql 路径 mysql为执行文件,不是文件夹 登陆mysql mysql -u 用户名 -p ...
- nginx出现 “414 request-uri too large”
nginx出现 “414 request-uri too large” 在请求查询的时候使用了Get方法,由于拼接的url过长,导致nginx出现了“414 request-uri too large ...
- Apache kylin的基础环境
一.Apache kylin的基础环境 由于Apache kylin上的OLAP(wiki:OLAP)是构建在hadoop生态环境上的,所以hadoop环境的稳定性和健壮性对kylin的稳定运行至关重 ...
- PowerBI与Visio
前言 如何在Power BI中使用Visio, 刚好最近微软推出了适用于Power BI 的 Visio自定义可视化对象预览,分享给大家. 我们先看一下效果: 通过自定义可视化对象,将Visio ...
- 如何查看MySQL单个数据库或者表的大小
总体来说,这些信息存在于information_schema数据库的TABLES表中 mysql> desc information_schema.TABLES; +-------------- ...
- java中的动态代理Proxy
动态代理是java语言的一个神奇的地方,不是很好理解,下面来看看关键的地方. InvocationHandler 是一个接口,官方文档解释说,每个代理的实例都有一个与之关联的 InvocationHa ...