Optimiser la shell une doublure

Nécessité d’optimiser la shell UNIX

cat ${TEMPFILE} | cut -d ' ' -f1 | sed '/^$/d'| sed '1,4d'| sed 's/$/|ON_ICE|OFF_ICE/g' > ${MYREPORT} 

car cela pose des problèmes de performance.

Dans

 cat ${TEMPFILE} | cut -d ' ' -f1 | sed '/^$/d' | sed '1,4d' | sed 's/$/|ON_ICE|OFF_ICE/g' > ${MYREPORT} 

clairement vous pouvez remplacer sed ‘1,4d’ avec queue +4

Appelez sed seulement une fois:

 cat ${TEMPFILE}|cut -d ' ' -f1|sed '/^$/d;1,4d;s/$/|ON_ICE|OFF_ICE/g'>${MYREPORT} 
 awk '/^$/ || ++count <= 4 {next} {print $1 "|ON_ICE|OFF_ICE"}' "$TEMPFILE" > "$MYREPORT" 

utiliser awk comme suit:

 awk '{$0=$1};if (NF>1){++rec}; if(NF > 1 && rec > 4 ){sub(/$/,"|ON_ICE|OFF_ICE")); print};' ${TEMPFILE} > ${MYREPORT}