[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 批处理怎样批量修改文件第一行内容后整合文件?

我有一系列的*.seq文件,现在想把他们的第一行修改后整合到一个*.fasta文件中
目前*.seq文件的第一行是“>ID-XXXXXXXX”现在想修改为“ID,WP_COI_gene”,其中ID是变化的,一个文件一个,修改完第一行后还要把全部*.seq文件的内容整合到*.fasta文件中,seq文件共10行
有大神可以帮帮忙嘛,小弟在此谢过!

怎么上传不了图片

TOP

不要XXX XXX,需要举一个真实的例子。
列出第一行完整的字符串;
列出修改后完整字符串。

TOP

举例,第一个文件第一行">0-HC02198-yin_B11.ab1"修改为">0, WP_COI_gene"
第二个文件第一行">1-HC02198-yin_C11.ab1"修改为">1, WP_COI_gene"
第三个文件第一行">2-HC02198-yin_D11.ab1"修改为">2, WP_COI_gene"
其他的文件以此类推

TOP

回复 3# qixiaobin0715
举例发到下面了

TOP

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. if not exist newseq md newseq
  4. for /f "delims=" %%a in ('dir /b /a-d *.seq') do (
  5.   set/p firstline=<%%a
  6.   for /f "tokens=1,* delims=-" %%i in ("!firstline!") do (
  7.     echo;%%i,WP_COI_gene
  8.     more +1 %%a
  9.   )>newseq\%%a
  10. )
  11. copy /b newseq\*.seq newseq\big.fasta
  12. echo;处理完毕&pause>nul
复制代码

TOP

回复 2# uuuuuuuup


换个图床试试吧:
http://bbs.bathome.net/thread-60985-1-1.html
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 6# for_flr


    感谢大神,不过运行了一下发现有点问题,运行后第一行变成了"TAAAGTATAAAGTACCAATATCTTNNNNNNNNNNNTNANCNNNNNNN,WP_COI_gene",其中前面那一串是我这个文件的最后一行,我想要">1,WP_COI_gene"就行了,前面的数字是编号,不知可否实现?

TOP

最好能将测试文件传上来,以方便测试代码。

TOP

回复 9# qixiaobin0715


    附件和图片都传不上去不知道怎么回事,我把文件内容发到下面

TOP

文件上传不了,把文件内容发上来
文件1名称:0-HC02198-yin_B11.seq
>0-HC02198-yin_B11.ab1 NNNNNNNNNNANANATAGGATCCCCCCCTCCTATAGGGTCAAAGAAAGTAGTATTTAAATTTCGATCTGTAAGTAATATT GTAATAGCTGCTGCTAAAACTGGTAATGATAATAATAATAAAATAGTAGTAATAACAACTGACCAAACAAATAATGGTAC TCGTTCAGTTGTTATCCCTTTAGTTCGTATATTTATAATAGTCGAAATAAAATTTAATGACCCTAAAATAGATGAGGCAC CAGCTATATGTAATGAGAAGATGGCTATGTCAACGGATGGGCCTGAATGAGATACGGAGTCTGATAGTGGGGGATAAAGG GTTCACCCTGCACCTACACCACCCTCAATTAAGGATGACCTAAGCAATATGATTATTGAAGGGGGTAGTAACCAAAATCT TAAATTATTCAGACGAGGAAATGATATATCTACGGCTCCTACCATTAATGGCAGGAGTCAATTACCAAACCCACCAATTA GAATTGGTATAACTATAAAGAAGATTATAACCAACCCATGAGCCGTTACTAGTGAATTATACAATTGGTCGTCTCCAAGG AATCTTCCTGGCTGTGCTAATTCAATTCGAATAATTGATCTTATAGAAGAGCCTAACATAGCTGATCACGTTCCTAAAAT AAAGTATAAAGTACCAATATCTTTNNNNNNNNNNNNNNNN
文件2名称:1-HC02198-yin_C11.seq
>1-HC02198-yin_C11.ab1 NNNNNNNNNTGNANNAATAGGATCCCCCCCTCCTATAGGGTCAAAGAAAGTAGTATTTAAATTTCGATCTGTAAGTAATA TTGTAATAGCTGCTGCTAAAACTGGTAATGATAATAATAATAAAATAGTAGTAATAACAACTGACCAAACAAATAATGGT ACTCGTTCAGTTGTTATCCCTTTAGTTCGTATATTTATAATAGTCGAAATAAAATTTAATGACCCTAAAATAGATGAGGC ACCAGCTATATGTAATGAGAAGATGGCTATGTCAACGGATGGGCCTGAATGAGATACGGAGTCTGATAGTGGGGGATAAA GGGTTCACCCTGCACCTACACCACCCTCAATTAAGGATGACCTAAGCAATATGATTATTGAAGGGGGTAGTAACCAAAAT CTTAAATTATTCAGACGAGGAAATGATATATCTACGGCTCCTACCATTAATGGCAGGAGTCAATTACCAAACCCACCAAT TAGAATTGGTATAACTATAAAGAAGATTATAACCAACCCATGAGCCGTTACTAGTGAATTATACAATTGGTCGTCTTCAA GGAATCTTCCTGGCTGTGCTAATTCAATTCGAATAATTGATCTTATAGAAGAGCCTAACATAGCTGATCACGTTCCTAAA ATAAAGTATAAAGTACCAATATCTTNNNNNNNNTNTNTGNNNNNNNNNNN

TOP

回复 7# Batcher


    附件也无法上传

TOP

回复 11# uuuuuuuup


    格式有些错误,应该是
>0-HC02198-yin_B11.ab1
NNNNNNNNNNANANATAGGATCCCCCCCTCCTATAGGGTCAAAGAAAGTAGTATTTAAATTTCGATCTGTAAGTAATATT
GTAATAGCTGCTGCTAAAACTGGTAATGATAATAATAATAAAATAGTAGTAATAACAACTGACCAAACAAATAATGGTAC
TCGTTCAGTTGTTATCCCTTTAGTTCGTATATTTATAATAGTCGAAATAAAATTTAATGACCCTAAAATAGATGAGGCAC
CAGCTATATGTAATGAGAAGATGGCTATGTCAACGGATGGGCCTGAATGAGATACGGAGTCTGATAGTGGGGGATAAAGG
GTTCACCCTGCACCTACACCACCCTCAATTAAGGATGACCTAAGCAATATGATTATTGAAGGGGGTAGTAACCAAAATCT
TAAATTATTCAGACGAGGAAATGATATATCTACGGCTCCTACCATTAATGGCAGGAGTCAATTACCAAACCCACCAATTA
GAATTGGTATAACTATAAAGAAGATTATAACCAACCCATGAGCCGTTACTAGTGAATTATACAATTGGTCGTCTCCAAGG
AATCTTCCTGGCTGTGCTAATTCAATTCGAATAATTGATCTTATAGAAGAGCCTAACATAGCTGATCACGTTCCTAAAAT
AAAGTATAAAGTACCAATATCTTTNNNNNNNNNNNNNNNN

TOP

没想明白之前的代码bug在哪里,我这边测试没问题。
你试试下面这个呢,注意做好数据备份!
注意做好数据备份!
  1. #@&cls&powershell "gc '%~0'|out-string|iex"&pause&exit/b
  2. $str="WP_COI_gene"
  3. dir -filter *.seq|%{
  4.     $new=@()
  5.     $content=(gc $_).split("")
  6.     if($content[0] -match '>(\d+)-'){
  7.         $new+=$matches[0].replace('-',',')+$str
  8.         $new+=$content|select -skip 1
  9.         sc -path $_ $new
  10.         ac -path all.fasta $new
  11.     }
  12. }
复制代码

TOP

本帖最后由 qixiaobin0715 于 2022-3-10 15:46 编辑

换个思路,可以上传到网盘上分享即可。
发上来的文件内容由于多种原因可能与文件本身会有差异,何况是你杜撰出来的呢?

TOP

返回列表