我最近才开始在 win7 中使用 powershell,以便为程序 mothur 生成类似管道的脚本。在我在 ubuntu 中使用 bash 脚本来执行此操作之前。我很高兴现在一切正常,除了一项任务:
我想格式化一个fasta文件,格式如下:
filename.fasta:
>HXXC990
AGTTCAAGGTCTCT
>HXXC991
GGGTTTCAAATCTC
>HXXC992
GGGTCTCTCCTATA
到一个制表符分隔的文件,看起来像这样
output.file:
HXXC990 filename
HXXC991 filename
HXXC992 filename
重要的是输出文件的第一列包含不带“>”符号的名称。第二个由制表符分隔的列是原始文件名.fasta,没有后缀(“文件名”)。我有解决方案 gci 来读出文件的基本名称和 Select-String 来输出所有以“>”开头的行。唯一的问题是两列中的格式和第二列中文件名的不断重复。
到目前为止我已经尝试过:
Select-String '>' .\filename.fasta | % {$_.Line} | set-content output.txt
生成一个文件,该文件仅包含包含“>”符号的行。之后我只是更换了它们。我得到的文件名
$base1 = gci filename.fasta | % {$_.BaseName}