?? funcfix.c
字號:
#! /bin/bash FILE="$1"echo "FuncFix.x file: $FILE"#sleep 3sed -n '/[a.-zA.-Z].*(.*)$/=' $FILE > pszFunc.txt #<function line>sed -n '/^{/=' $FILE > pszLeftBracket.txt #<left big bracket>sed -n '/^}/=' $FILE > pszRightBracket.txtawk '{print $1 + 1}' pszFunc.txt > pszFuncPlus.txt #<the line before 'left big bracket'echo '<gen "pszLeftBigBracket.txt>-----------------------------------'echo > pszResult.txtwhile read nFuncLinedo while read nBracketLine do #echo nFuncLine=$nFuncLine #echo nBracketLine=$nBracketLine if [ "$nFuncLine" -eq "$nBracketLine" ] then #echo nFuncLine=$nFuncLine sed "1i\ $nFuncLine" pszResult.txt > tmp mv tmp pszResult.txt fi done < pszLeftBracket.txtdone < pszFuncPlus.txtsed '/^$/d' pszResult.txt > tmpmv tmp pszResult.txtcp pszResult.txt pszLeftBigBracket.txtecho '<gen "LeftBigBracket.txt over>---------------------------------'#echo '-----pszResult.txt-----'#cat pszResult.txt#echo '-----------------------'echo '<gen "{} matched file: pszResult.txt>--------------------------'sed '/^$/d' pszRightBracket.txt > tmpmv tmp pszRightBracket.txtecho > pszResult.txtwhile read nLeftBracketLinedowhile read nRightBracketLine do if [ "${nRightBracketLine}" -gt "${nLeftBracketLine}" ] then sed "$ a\ ${nRightBracketLine}" pszResult.txt > tmp mv tmp pszResult.txt sed "$ a\ ${nLeftBracketLine}" pszResult.txt > tmp mv tmp pszResult.txt break; fi done < pszRightBracket.txtdone < pszLeftBigBracket.txtecho '<gen "{} matched file: pszResult.txt over>---------------------'#echo '-----pszResult.txt-----'#cat pszResult.txt#echo '-----------------------'#echoecho '<check even>---------------------------------------------------'sed '/^$/d' pszResult.txt > tmpmv tmp pszResult.txtnTemp=0nCount=`wc -l pszResult.txt | awk '{print $1}'`let "nTemp=$nCount + 1"let "nCount=$nCount / 2"let "nTemp=$nTemp / 2"if [ "$nCount" -ne "$nTemp" ]then echo "pszResult.txt: error Line number!"fiecho '<check even over>----------------------------------------------'echo '<deal period between segment: { }>-----------------------------'bFlag=0while read nLineNumberdo if [ "$bFlag" -eq 0 ] then sed "${nLineNumber} s/}/\n\n PRINT_OUT_FUNCTION();\n&/" $FILE > tmp mv tmp $FILE let "bFlag=1" else sed "${nLineNumber} s/{/&\n PRINT_IN_FUNCTION();\n\n/" $FILE > tmp mv tmp $FILE let "bFlag=0" fidone < pszResult.txt echo "FuncFix.x file: $FILE" #sleep 3 #such as '/* xxx xxx */' sed 's/\/\*.*\*\///g' $FILE > tmp mv tmp $FILE #such as ' xxx xxx */' sed 's/return .*\*\//\*\//g' $FILE > tmp mv tmp $FILE #such as 'return xxx;' sed 's/return /{PRINT_OUT_FUNCTION(); &/g' $FILE > tmp mv tmp $FILE #check 'return xxx something xxx */}' sed 's/return .*$/&}/g' $FILE > tmp mv tmp $FILE #such as 'return;' sed 's/return;/PRINT_OUT_FUNCTION();return;/g' $FILE > tmp mv tmp $FILE#check 'return xxx something xxx */} over'echo '<deal period between segment: { } over>------------------------'
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -