我想知道如何在文件中输出(排除)变量?
例如file.txt:
PATH1=/path/to/file PATH2=/path/to/anotherfile PATH3=/path/to/thirdfile TEST=$(echo $RANDOM) * * * * *\5 top -n 1 > /tmp/$TEST * * * * * echo hello # = for deletion
我想只打印没有变量的cron作业:例如:
* * * * *\5 top -n 1 > /tmp/$TEST * * * * * echo hello # = for deletion
请注意,最后有相同的标志,我也需要保留这些线.拖尾这个文件不是一个解决方案,当然不仅仅有一行不是变量.有任何想法吗?
使用Vixie cron,crontab系列是:
如果第一个非空白字符是#的注释
如果第一个非空白字符是字母或_的环境设置
如果第一个非空白字符是数字,*或@,则为cron命令
如果没有非空白字符,则为空行
否则,出错.
所以grep for case 3(cron命令):
grep -E '^[[:blank:]]*[0-9*@]'
或者,要删除案例2(环境设置)但保留其他所有内容,包括注释和错误:
grep -Ev '^[[:blank:]]*[a-zA-Z_]'