1. 程式人生 > >shell 遞迴遍歷資料夾 對檔案行首和末尾進行修改

shell 遞迴遍歷資料夾 對檔案行首和末尾進行修改

功能:

    遞迴遍歷資料夾下的cs檔案或者lua檔案,並對檔案的行首或者末尾插入程式碼

#!/bin/bash
str=""
luafile=false
csfile=false
dfs(){
	#echo $1
	for file in $1/* 
	do
		if [ -d $file ]
		then
			dfs $file
		elif [ -f $file ]
		then
			#檔案 
			str=`echo "${file##*.}"`
			if [ $str == "lua" ]&&[ $luafile == true ]; then
				echo $file
				#在lua檔案末尾加入一行註釋
				#echo '-- insert some code ' >> $file
				#在lua檔案行首加入一行註釋
				sed -i '1i\-- insert some code ' $file
			elif [ $str == "cs" ]&&[ $csfile == true ]; then
				echo $file
				#在js檔案末尾加入一行註釋
				#echo '// insert some code ' >> $file
				sed -i '1i\// insert some code ' $file
			fi
		fi
	done
}

run(){
	dir=../Unity/Assets
	dfs $dir
}

if [ $# == 0 ]; then
	echo "傳引數 指定操作檔案"
elif [ $# == 1 ]; then
	if [ $1 == 'all' ]; then
		luafile=true
		csfile=true
	elif [ $1 == 'lua' ]; then
		luafile=true
	elif [ $1 == 'cs' ]; then
		csfile=true
	fi
	run
fi