利用indent格式化源文件的脚本
生活随笔
收集整理的這篇文章主要介紹了
利用indent格式化源文件的脚本
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
腳本一:格式化指定目錄下的源文件(*.h, *.cpp...)
#!/bin/sh# 格式化某目錄下所有*.h, *.c, *.cpp, *.hh文件, 并將文件換行符轉(zhuǎn)換成Linux下的格式if [ $# -lt 1 ]; thenecho "Usage: $0 <dir>"exit 1 elsedir=$1 fi# format a source file(*.c, *.h, *.cpp, *.hh) formatSrcfile() {dos2unix $1indent -npro -nip -lp -npsl -npcs -i4 -ts4 -sob -l140 -ci4 -ss -nsaf -nsai -nsaw -bl -bli0 $1rm -f "$1"~ }# save file path to file find $dir -name '*.h' -o -name '*.c' -o -name '*.cpp' -o -name '*.hh' > tmp# format every file in tmp while read file doformatSrcfile $file done < tmp# remove tmp file rm -f tmp
腳本二:格式化指定的文件
因?yàn)閕ndent的參數(shù)很多,我這里用的格式不一定是所有人都喜歡的,所以如果不符合您的要求,請大家自己修改。
?
我這兩個(gè)腳本都有一個(gè)bug,一直沒找到解決辦法,若有人解決了,還望告知下。bug如下:
就是上圖左邊的代碼,會被格式成右邊的樣子,但是事實(shí)上對于左邊這樣的格式,我希望他能保持不變,不知如何修改indent參數(shù)呢?
?
另外,如果一個(gè)宏單獨(dú)一行,且沒有分號作結(jié)尾,他會將下一行的內(nèi)容給撈上來的,哈哈!
?
總結(jié)
以上是生活随笔為你收集整理的利用indent格式化源文件的脚本的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 开源重量级的流程引擎或UI引擎
- 下一篇: dell自带的测试软件,Dell Sys