我想用时间和cron条目处理cron文件到不同的DB列。
cat root | awk '{print $1, $2, $3, $4, $5, $6}'
47 * * * * string=`find somefile`; echo $string > success.txt 2> err.txt
使用awk轻松唤醒cron的前5个占位符。但是如何选择实际的cron条目呢? 在上面的例子中,我想从“string”到“$ string”选择所有东西 我还想选择标准和错误输出文件路径。即success.txt和err.txt
更新
awk '{print $NF}'
以上适用于最后一个变量,但以下内容并未找到倒数第二个。
awk '{print $NF-2}'
答案 0 :(得分:0)
摆脱初始字段的一种简单方法是使用cut
:
cut -d' ' --complement -f1-5
我认为这需要GNU版本的剪切,因为--complement
标志是扩展名。
我使用awk将其余部分分成字段:
awk '{
outfile=$(NF-2)
errfile=$NF
for(n=NF; n>(NF-4); n--) { $n = ""}
printf("command: %s\noutput: %s\nerror: %s\n", $0, outfile, errfile)
}'
请注意,这种方法涉及一些假设: