您好我是新来写批处理文件所以请帮帮我 我有一个包含以下数据的txt文件:
\nwe data
test data and
othere files
resrt
/* 20170804 */
test data
new line and work
only work
new test
online
master
/*letest*/
我想将数据从/* 20170804 */
复制到/*letest*/
。如何将数据复制到另一个txt文件?
答案 0 :(得分:0)
查看gawk.exe或sed.exe等命令行工具,这些工具使用正则表达式搜索模式并处理文件。
例如gawk "/\/\* 20170804 \*\//{flag=1;next}/\/\*letest\*\//{flag=0}flag" C:\temp\data.txt > C:\temp\out.txt
使用标记来打印行。
getTokenHeader() {
return this.afAuth.auth.currentUser.getIdToken()
.then(token => {
let params = new URLSearchParams();
params.set('tsid', `Bearer ${token}`);
return params;
});
}
答案 1 :(得分:0)
首先,创建逻辑:
for every line in the text file do
If the line is the start string, set a flag.
If flag is set, print the line.
If the string is the stop string, delete the flag.
continue with next line.
然后将整个循环的所有输出重定向到文件。
@echo off
setlocal
set "flag="
(for /f "delims=" %%a in (t.txt) do (
if "%%a"== "/* 20170804 */" set "flag=yes"
if defined flag echo %%a
if "%%a"== "/*letest*/" set "flag="
))>out.txt
注意:这适用于您的示例。如果有特殊字符或者你想保留空行,则需要更多代码。