一.编写一个Shell脚本,实现如下功能: 1、从脚本参数获取到的目录名列表;

一.编写一个Shell脚本,实现如下功能: 1、从脚本参数获取到的目录名列表;,第1张

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抓取新增文件。文件不定时更新,先增量判断,再抓取等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10156573.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存