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 ...
随机推荐
- linux通用技巧集合
1.将程序置为后台进程运行,关闭终端程序继续运行 nohup ./test.sh & 2.列出当前后台运行的进程列表包括进程id jobs -l 3.根据进程id杀掉该进程 kill - pi ...
- 第四百零二节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署,uwsgi安装和启动,nginx的安装与启动,uwsgi与nginx的配置文件+虚拟主机配置
第四百零二节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署,uwsgi安装和启动,nginx的安装与启动,uwsgi与nginx的配置文件+虚拟主机配置 软件版本 uwsgi- ...
- 使用100%面向过程的思维方式来写java程序
1.java是强制写class关键字的语言,不能有独立的函数游离在类外出现在文件中,这和python c++ 都不同,后面的都可以单独在类外写函数,所以java被称为是纯面向对象的语言,py和c++都 ...
- Gym 101810
友情提示: 这篇题解并没有GJKL,因为我也不会,而且看别人代码也看不懂,而且问学长还不给我讲!hmc:这个题巨麻烦,我只能说balabala.我不学了我退役了啊! A:这傻逼题我从开头wa了四个小时 ...
- hibernate06--参数的绑定
创建Dept实体类 以及 对应的 Dept.hbm.xml文件 /** * @author 小豆腐 * *部门的实体类 */ public class Dept { private Integer d ...
- python3 中 Event.wait 多线程等待
event.wait(time) 等待 time 时间后,执行下一步.或者在调用 event.set() 后立即执行下一步. event.clear() 清除信号 event.set() 设置信号 ...
- mac下supervisor安装及简单配置
supervisor是一个用 Python 写的进程管理工具,可以很方便的用来启动.重启.关闭进程(守护进程).可以用他来管理自己的“服务程序”. 安装 首先安装Python,Mac系统好像自带. 执 ...
- react学习笔记01
被项目拖了半年的我终于有时间学习react 了 下面是我最近学习的笔记 支持jsx语法 ReactDOM.render( <div> <h1>hello, word</h ...
- java JVM虚拟机
JVM垃圾处理方法(标记清除.复制.标记整理) 1.标记清除 标记阶段:先通过根节点,标记所有从根节点开始的对象,未被标记的为垃圾对象. 清除阶段:清除所有未被标记的对象. 2.复制算法 将原有的空间 ...
- ERROR org.hibernate.hql.internal.ast.ErrorCounter unexpected token: form 异常解决
ERROR org.hibernate.hql.internal.ast.ErrorCounter unexpected token: form 异常解决 根据异常提示:我找了我的MySQL语句:果然 ...