批处理如何按照特定条件删除txt文件中的部分内容
有a.txt文件,内容如下:>contig08355TGTAGATCCCCGACGGTTGC>contig09814TGT>contig09509CAGCTCCCACGA...
有a.txt文件,内容如下:
>contig08355
TGTAGATCCC
CGACGGTTGC
>contig09814
TGT
>contig09509
CAGCTCCCAC
GATCCA
现在要把>contig后面字符(包括数字和字母)数量大于等于10个的输出到b.txt,结果变成:
>contig08355
TGTAGATCCC
CGACGGTTGC
>contig09509
CAGCTCCCAC
GATCCA 展开
>contig08355
TGTAGATCCC
CGACGGTTGC
>contig09814
TGT
>contig09509
CAGCTCCCAC
GATCCA
现在要把>contig后面字符(包括数字和字母)数量大于等于10个的输出到b.txt,结果变成:
>contig08355
TGTAGATCCC
CGACGGTTGC
>contig09509
CAGCTCCCAC
GATCCA 展开
1个回答
展开全部
把下面的代码保存在记事本里,保存为 任意名称.bat
源文件为a.txt 输出文件为b.txt
@echo off
setlocal enabledelayedexpansion
set c=0
for /f "delims=" %%i in ('type a.txt') do (
set a=%%i
if "!c!" == "0" (
if "!a:~0,7!" == ">contig" (
set b=!a!
set c=1
) else (echo !a! >>b.txt)
) else (
if not "!a:~0,9!" == "!a!" (
echo !b! >>b.txt
echo !a! >>b.txt
)
set c=0
)
)
源文件为a.txt 输出文件为b.txt
@echo off
setlocal enabledelayedexpansion
set c=0
for /f "delims=" %%i in ('type a.txt') do (
set a=%%i
if "!c!" == "0" (
if "!a:~0,7!" == ">contig" (
set b=!a!
set c=1
) else (echo !a! >>b.txt)
) else (
if not "!a:~0,9!" == "!a!" (
echo !b! >>b.txt
echo !a! >>b.txt
)
set c=0
)
)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询