我有這樣的AWK腳本,5個新行字符替換每個換頁符(0x0C,12):替換字符的最後一次出現在文件中
f=${*:-"-"}
awk 'BEGIN {FF=sprintf("%c",12); LF=sprintf("\n\n\n\n\n")}
{i1=0;for(i2=i1+1;i2<=length($0);i2++) if(substr($0,i2,1) == FF)
{print substr($0,i1+1,i2-i1-1) LF; i1=i2}
print substr($0,i1+1,length($0)-i1)}' $f
現在我想做的是替換只有文件中該符號的最後一次出現。想不到一個簡單的解決方案。我如何檢測最後一行?有任何想法嗎?
AWK是最好的(性能問題)。
whitespace是你的朋友 – slf 2011-03-09 14:46:10