Если вы действительно ищете пользовательские файлы cron, чтобы узнать, когда они были изменены, или что-то в этом роде, их можно найти по адресу / var / spool / cron /
, но вам, вероятно, не следует манипулировать файлами вручную.
Prueba esto:
Max=`grep -c "^Printing" file.xml`
for count in `seq 1 $Max`
do
sed -nr '/Printing/H;//,/ABC/G;s/\n(\n[^\n]*){'$count'}$//p' file.xml | sed 's/Printing XML://' > $count.xml
done
Esto es lo que escribí, pero estoy seguro de que hay una forma más breve y más elegante de hacerlo.
searchstring=searchparam
filename=test.log
pattern1=ABC
linenums=($(grep -n "${searchstring}" ${filename} | awk -F":" '{print $1}'))
len=${#linenums[@]}
for (( i=0; i<${len}; i++ ));
do
currentline=${linenums[$i]}
relativeendlinearray=($(tail -n +${currentline} ${filename} | grep -n "${pattern1}" | awk -F":" '{print $1}'))
actualendline=$(($currentline+${relativeendlinearray[0]}-1))
index=$currentline
while [ $index -ne 0 ]
do
found=`sed "${index}q;d" ${filename} | grep "${pattern1}"`
if [ -n "$found" ]; then
actualstartline=$index
break;
fi
index=$[$index-1]
done
if [ -n "$found" ]; then
echo ""
else
echo "Log break detected, content across multiple files"
fi
echo "Start Line" ${actualstartline}
echo "Current Line" ${currentline}
echo "End Line" ${actualendline}
sed -n "${actualstartline},${actualendline}p" ${filename}
done