sed 's/ //g'
sed 's/[ ]*$ //g' 将每行结尾的空格都删除 @sed "s/.*\.d ://" .* 表示所有 \ 表示转义符, 查找所有含 “ .d : ”的行,并替换 for /r %BOARD_MODULES_PATH% %%c in (*.d) do @( command ) /r 在路径里循环查找.d文件,进行操作 sed "s/[ ][\\]//g" 把“ \” (含有空格) 全替换掉 |
@rem 此处注释为bsp_si_list.bat的内容
@rem =======================================================
@echo off
color 0a
@rem =========全局变量设置=============
@set CUR_PATH=%cd%
@echo %CUR_PATH%
rem 编译的单板
@set board=BPQ
@set cpu=CORTEXA53
@rm -fr %OUT_FILE% & @rm -fr *_mid_file_* sort
if "%1"=="" (set board=BPN& set cpu=CORTEXA9) else (set board=%1& set cpu=%2)
@set OUT_FILE=%CUR_PATH%\ si.%board%.list
@rem module和board生成的.d目标路径
@set BOARD_DEPENDENT_PATH=%CUR_PATH%\%board%\%board%\%cpu%\%board%_%cpu%\Dependent
@set BOARD_MODULES_PATH=%CUR_PATH%\%board%\%board%\%cpu%\modules_%cpu%
cd ../../../../../../
@set CODE_UNIBTS_PATH=%cd%
@set CODE_UNIBTS_MODULES_PATH=%CODE_UNIBTS_PATH%\bsp\modules
@rem echo %BOARD_DEPENDENT_PATH%
@rem echo %BOARD_MODULES_PATH%
@rem echo %CODE_UNIBTS_MODULES_PATH%
cd %CUR_PATH%
@for /r %BOARD_DEPENDENT_PATH% %%c in (*.d) do @(
if exist %%c @cat %%c >> board_mid_file_1
)
@rem 去掉依赖文件首行的..\Dependent/alloc.d : \
@sed "s/.*\.d ://" board_mid_file_1 > board_mid_file_2
@rem 去掉每行最后的 \ ,行中间的\先不处理
sed "s/[ ][\\]//g" board_mid_file_2 > board_mid_file_3
@rem 去掉每行行首空格等
sed "s/[ \r\n\t]//g" board_mid_file_3 > board_mid_file_4
@for /r %BOARD_MODULES_PATH% %%c in (*.d) do @(
if exist %%c @cat %%c >> modules_mid_file_1
)
@rem 去掉依赖文件首行的..\Dependent/alloc.d : \
@sed "s/*.d ://" modules_mid_file_1 > modules_mid_file_2
@rem 去掉每行最后的 \ ,行中间的\先不处理
sed "s/[ ][\\]//g" modules_mid_file_2 > modules_mid_file_3
@rem 去掉每行行首空格等
sed "s/[ \r\n\t]//g" modules_mid_file_3 > modules_mid_file_4
@rem 合并board 和 module .d文件所有的并且删除重复
@cat board_mid_file_4 > rt_mid_file_1
@cat modules_mid_file_4 > rt_mid_file_1
@sort -u rt_mid_file_1 > rt_mid_file_2
@sed "s/[\\]/\//g" rt_mid_file_2 > rt_mid_file_3
@sort -u rt_mid_file_3 > rt_mid_file_4
ping -n 2 127.1 >nul
ping -n 2 127.1 >nul
ping -n 2 127.1 >nul