centos系统然后用Cron+sh脚本定时修改txt文件内容

一个txt文件目录是hume\gmsv\data\npc\想用计划任务每天修改相应行数内容如下:blockCheckRealTime2013/8/21,01:00:01=... 一个txt文件目录是hume\gmsv\data\npc\ 想用计划任务每天修改相应行数内容如下:
block CheckRealTime 2013/8/21,01:00:01 == 1
修改为
block CheckRealTime 当前日期(个位数的月、日没有0),01:00:01 == 1
有人提供脚本如下:
脚本为
#!/bin/bash
# File name : script.sh
YE=`date +%Y | awk '{print gensub(/^0/,"","")}'`
MON=`date +%m | awk '{print gensub(/^0/,"","")}'`
DA=`date +%d | awk '{print gensub(/^0/,"","")}'`
echo "block CheckRealTime $YE/$MON/$DA,01:00:01 == 1" > /tmp/file

Cron任务 0 0 * * * bash /tmp/script.sh
可是木有告诉我修改行数和文件名和修改的文件目录在那写
展开
 我来答
foxclive
2013-09-07 · TA获得超过111个赞
知道答主
回答量:37
采纳率:0%
帮助的人:39.4万
展开全部
echo "block CheckRealTime $YE/$MON/$DA,01:00:01 == 1" > /tmp/file

这句话的意思是:卜枝档把你需要的内容追加在搭返/tmp/file文件后面。
0 0 * * * bash /tmp/script.sh

这个crontab执行的是/tmp/script.sh文件

按照他的意思是把这个脚本写到/tmp/script.sh,这个脚本会修改/tmp/file文件,直接把内型乱容追加在文件末。
更多追问追答
追问
可是我要的效果不是追加,是修改固定行数,比如每天修改第五行或者第一行
请问这么写
追答
0 0 * * * sed -i -e "5c block CheckRealTime `date +"\%Y/\%m/\%d"`,01:00:01 == 1" /tmp/file

直接加入这个cron任务就行,5c表示修改第5行内容,/tmp/file表示修改/tmp/file文件。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式