当前位置: 技术问答>linux和unix
小白继续求学路求解linux语句
来源: 互联网 发布时间:2017-04-21
本文导语: 这个先把整段贴出来以免误导大家断章取义, if [ "$tag1" = '-fail' ] then tt=`perl -le 'use POSIX ; print strftime("%Y%m%d%H%M.%Sn", localtime(time()-900));'` touch -t $tt $HOME/tfile1 find /opt/Roamware/logs/...
这个先把整段贴出来以免误导大家断章取义,
if [ "$tag1" = '-fail' ]
then
tt=`perl -le 'use POSIX ; print strftime("%Y%m%d%H%M.%Sn", localtime(time()-900));'`
touch -t $tt $HOME/tfile1
find /opt/Roamware/logs/amms/events/ -name "amms-events*" -newer $HOME/tfile1 |sort |xargs gzgrep "20" > $HOME/tfile2
if [ -z "$obj1" ] # if obj1 is null
then
awk -F"," '$5=="0"&&$6=="2"&&$8=="2"&&$13=="4"&&$20=="1" {print $11}' $HOME/tfile2 |sort -u > ~/prepaid_all.list
awk -F"," '$5=="0"&&$6=="3"&&$8=="2"&&$13=="4" {print $11}' $HOME/tfile2 |sort -u > ~/prepaid_succ.list
comm -23 ~/prepaid_all.list ~/prepaid_succ.list
else
awk -F"," '$5=="0"&&$6=="2"&&$8=="2"&&$9=='"$obj1"'&&$13=="4"&&$20=="1" {print $11}' $HOME/tfile2|sort -u > ~/prepaid_all.list
awk -F"," '$5=="0"&&$6=="3"&&$8=="2"&&$9=='"$obj1"'&&$13=="4" {print $11}' $HOME/tfile2 |sort -u > ~/prepaid_succ.list
comm -23 ~/prepaid_all.list ~/prepaid_succ.list
fi
rm -f ~/prepaid_all.list ~/prepaid_succ.list
rm -f $HOME/tfile1 $HOME/tfile2
exit
fi
-----------------------------------------------------------------------
下面开始提问
第一步:tt=`perl -le 'use POSIX ; print strftime("%Y%m%d%H%M.%Sn", localtime(time()-900));'`这个一是语义费解such as =`perl -le 'use POSIX ; strftime,二是层次不清晰,for example 里面有分号,分号竟然被单引号扩了起来
第二步:touch -t $tt $HOME/tfile1 是创建文件tfile1,并且创建时间设置为$tt吗,费解
第三步:find /opt/Roamware/logs/amms/events/ -name "amms-events*" -newer $HOME/tfile1 |sort |xargs gzgrep "20" > $HOME/tfile2额 看到就头晕-newer意思是找到比参数文件修改晚的吗,ok?then xargs什么的干活,and xargs gzgrep "20"组合起来是什么,有这种用法吗
第四步:rm -f ~/prepaid_all.list ~/prepaid_succ.list 这句话嘛意思,特别强调参数f的作用?
if [ "$tag1" = '-fail' ]
then
tt=`perl -le 'use POSIX ; print strftime("%Y%m%d%H%M.%Sn", localtime(time()-900));'`
touch -t $tt $HOME/tfile1
find /opt/Roamware/logs/amms/events/ -name "amms-events*" -newer $HOME/tfile1 |sort |xargs gzgrep "20" > $HOME/tfile2
if [ -z "$obj1" ] # if obj1 is null
then
awk -F"," '$5=="0"&&$6=="2"&&$8=="2"&&$13=="4"&&$20=="1" {print $11}' $HOME/tfile2 |sort -u > ~/prepaid_all.list
awk -F"," '$5=="0"&&$6=="3"&&$8=="2"&&$13=="4" {print $11}' $HOME/tfile2 |sort -u > ~/prepaid_succ.list
comm -23 ~/prepaid_all.list ~/prepaid_succ.list
else
awk -F"," '$5=="0"&&$6=="2"&&$8=="2"&&$9=='"$obj1"'&&$13=="4"&&$20=="1" {print $11}' $HOME/tfile2|sort -u > ~/prepaid_all.list
awk -F"," '$5=="0"&&$6=="3"&&$8=="2"&&$9=='"$obj1"'&&$13=="4" {print $11}' $HOME/tfile2 |sort -u > ~/prepaid_succ.list
comm -23 ~/prepaid_all.list ~/prepaid_succ.list
fi
rm -f ~/prepaid_all.list ~/prepaid_succ.list
rm -f $HOME/tfile1 $HOME/tfile2
exit
fi
-----------------------------------------------------------------------
下面开始提问
第一步:tt=`perl -le 'use POSIX ; print strftime("%Y%m%d%H%M.%Sn", localtime(time()-900));'`这个一是语义费解such as =`perl -le 'use POSIX ; strftime,二是层次不清晰,for example 里面有分号,分号竟然被单引号扩了起来
第二步:touch -t $tt $HOME/tfile1 是创建文件tfile1,并且创建时间设置为$tt吗,费解
第三步:find /opt/Roamware/logs/amms/events/ -name "amms-events*" -newer $HOME/tfile1 |sort |xargs gzgrep "20" > $HOME/tfile2额 看到就头晕-newer意思是找到比参数文件修改晚的吗,ok?then xargs什么的干活,and xargs gzgrep "20"组合起来是什么,有这种用法吗
第四步:rm -f ~/prepaid_all.list ~/prepaid_succ.list 这句话嘛意思,特别强调参数f的作用?
|
这说明你的rm命令没有被设置别名rm -i
所以删除的时候不会提示
|
alias rm='rm -i'
|
第一步
perl -le 'use POSIX ; print strftime("%Y%m%d%H%M.%Sn", localtime(time()-900));'
这一句相当于执行 perl脚本
整个单引号里是脚本内容
一般格式是这样的
use POSIX ; 语法结构,引用POSIX块
print strftime("%Y%m%d%H%M.%Sn", localtime(time()-900));格式化输出15分钟前的时间
第二步
touch -t time file
使用指定的时间值 time 作为指定文件 file 相应时间戳记的新值
第三步
find /opt/Roamware/logs/amms/events/ -name "amms-events*" -newer $HOME/tfile1 |sort |xargs gzgrep "20" > $HOME/tfile2
在目录 /opt/Roamware/logs/amms/events/ 下,找到名字以amms-events开头,更改时间比$HOME/tfile1 新 的文件,然后排序,然后找到里面有“20”文件,然后压缩到 $HOME/tfile2里
xargs 就是拆开来一个个操作,百度~
gzgrep 先找后压缩,不知道理解的对不对
综1 2 3,大概是 找到 15分钟内更新的相应文件压缩
第四步
rm -f ~/prepaid_all.list ~/prepaid_succ.list
没有-f 会出现那个 Y/N 询问
删除用户目录下的两个文件
错误请指出,谢谢
perl -le 'use POSIX ; print strftime("%Y%m%d%H%M.%Sn", localtime(time()-900));'
这一句相当于执行 perl脚本
整个单引号里是脚本内容
一般格式是这样的
use POSIX ; 语法结构,引用POSIX块
print strftime("%Y%m%d%H%M.%Sn", localtime(time()-900));格式化输出15分钟前的时间
第二步
touch -t time file
使用指定的时间值 time 作为指定文件 file 相应时间戳记的新值
第三步
find /opt/Roamware/logs/amms/events/ -name "amms-events*" -newer $HOME/tfile1 |sort |xargs gzgrep "20" > $HOME/tfile2
在目录 /opt/Roamware/logs/amms/events/ 下,找到名字以amms-events开头,更改时间比$HOME/tfile1 新 的文件,然后排序,然后找到里面有“20”文件,然后压缩到 $HOME/tfile2里
xargs 就是拆开来一个个操作,百度~
gzgrep 先找后压缩,不知道理解的对不对
综1 2 3,大概是 找到 15分钟内更新的相应文件压缩
第四步
rm -f ~/prepaid_all.list ~/prepaid_succ.list
没有-f 会出现那个 Y/N 询问
删除用户目录下的两个文件
错误请指出,谢谢
|
-f, --force 强制删除。忽略不存在的文件,不提示确认
有些系统自带 -i or 一般会设alias rm='rm -i '
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。