3# !/bin/bash
cd $1
ls –a|grep ‘dat’
ls –a|grep ‘log’
mkdir DONE/
for files in dat
do
mv $datfile ${datfile%dat}_donedat
cp -r ${datfile%dat}_donedat DONE/${datfile%dat}_donedat
done
for logfile in log
do
mv $ logfile ${ logfile %log}_donelog
cp –r ${ logfile %log}_donelog DONE/${datfile%dat}_donelog
done
如果是我做的话 我会用 find -cnewer 来做大概应该是这样的:
for ofile in find / -name "txt" -cnewer timefile
do
#
done
touch timefile
大概应该是这样吧 用find来查找修改时间晚于timefile的txt文件, 然后程序结束的时候更新timefile文件的修改时间
可以使用inotifywait。可以百度一下安装方法
记得之前用过类似:inotifywait -me close_write aaa/ > bbbtxt(大致是这样)
通过监控aaa目录下文件关闭动作来判断FTP传送写入文件结束,并将其文件名写入bbbtxt
cat testtxt | awk 'NR > 2 {file=$1"txt";cmd1="touch "file;cmd2="mv "file" ~/";system(cmd1);system(cmd2)}'
注:”~/“指home目录,可根据需要自行修改。
1、Shell是命令解释器,所执行的文件有两种,一种是基于ELF文件格式的可执行文件,一种是基于Shell脚本格式的脚本文件。
2、不管是可执行文件还是shell脚本,如果存在于PATH变量所指明的路径中,shell会自动寻找相应的可执行文件,用户只需要输入可执行文件名或者脚本名即可执行。
3、如果可执行文件或者Shell脚本的存放位置不在PATH变量所指明的路径中,则需要通过"”来执行,比如下面的C语言写的hello world程序,需要输入/t才可以被shell运行。
以上就是关于一.编写一个Shell脚本,实现如下功能: 1、从脚本参数获取到的目录名列表;全部的内容,包括:一.编写一个Shell脚本,实现如下功能: 1、从脚本参数获取到的目录名列表;、shell脚本循环读取更新了的文件并处理、shell脚本怎样用ftp抓取新增文件。文件不定时更新,先增量判断,再抓取等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)