bat 应用二

sed 's/ //g' 
sed 按顺序逐行将文件读入到内存中。然后,它执行为该行指定的所有操作,并在完成请求的修改之后将该行放回到内存中,以将其转储至终端。完成了这一行 上的所有操作之后,它读取文件的下一行,然后重复该过程直到它完成该文件。不过,可以按需要将操作限制在指定的行上。
/ 正则表达式开始
[ ] 匹配[]中的每个字符,这里是空格
* 前一字符重复任意次(包含0次)
$ 锚定行尾
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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值