小编Sal*_*ork的帖子

是什么区别($ test)=(@ test); 和$ test = @test; 在Perl?

($test) = (@test);
$test = @test;
Run Code Online (Sandbox Code Playgroud)

在变量周围有一个括号,它会占据数组的第一个元素.我无法找到阵列周围支架的任何信息.

perl

6
推荐指数
1
解决办法
177
查看次数

将部分文件名分配给bash变量?

我有一个文件,它的名字如下:

12U12345._L001_R1_001.fastq.gz
Run Code Online (Sandbox Code Playgroud)

我想将变量分配给12U12345零件.

到目前为止,我有:

variable=`basename $fastq | sed {s'/_S[0-9]*_L001_R1_001.fastq.gz//'}`
Run Code Online (Sandbox Code Playgroud)

注意:$fastq是一个变量,其中包含文件的完整路径.

这个解决方案目前返回完整的文件名,任何想法如何做到这一点?

bash shell

4
推荐指数
1
解决办法
60
查看次数

如何在 Docker 映像的 .bashrc 中设置别名

例如: 'alias python=/home/user/python3.6' 是我可能想要放入我的 bashrc 中的东西我如何在 Dockerfile 中设置它我知道设置路径变量的 ENV 命令,是否可以这样做类似于设置别名?

docker dockerfile

3
推荐指数
1
解决办法
5023
查看次数

使用bash使用条件打印到屏幕

输入:

number=5
if $number > 0; echo "Yes"; else echo "No";fi
Run Code Online (Sandbox Code Playgroud)

我的输出是:

bash: 5: command not found...
No
Run Code Online (Sandbox Code Playgroud)

我只想要Yes或者No,那么语法有什么问题?

bash

2
推荐指数
2
解决办法
327
查看次数

逐行读取文件时保持计数

我有一个看起来像这样的文件:

1
3
7
8
Run Code Online (Sandbox Code Playgroud)

它的数量增加但不是一致的:它是随机的.

我想要一个看起来像这样的文件:

1   1
2   0
3   1
4   0
5   0 
6   0
7   1
8   1
Run Code Online (Sandbox Code Playgroud)

它填写左侧列中缺少的数字,并添加一个\t1以显示它存在于原始文件中(0表示缺席).到目前为止,我有:

#! /usr/bin/perl

use warnings;
use strict;

my $infile = $ARGV[0];

open(IN, $infile) or die ("Could not open file.");

my $counter = 0;

while ( my $line  = <IN> ) {

    chomp $line;

    if ( $counter == $line ) {
        print "$line\t1\n";
        ++$counter;
    }
    else {
        print "$counter\t0\n";
        ++$counter;
    }
}

close (IN);
Run Code Online (Sandbox Code Playgroud)

产量

0 …
Run Code Online (Sandbox Code Playgroud)

perl

2
推荐指数
1
解决办法
144
查看次数

在Perl正则表达式中使用'和'运算符

我正在使用Perl逐行读取文件,die如果满足条件.条件是一条线必须以任何字母开头AGCT,而线的其余部分只能包含字母AGCT.

my $fasta = $ARGV[0];

open(FASTA, $fasta) || die("Couldn't read file $fasta\n");
local $/ = "\n>";
while (my $line = <>) {
  if ( $line =~ /^[AGCT]/ && /[AGCT]/ ) {
    die;
  }
}
close FASTA;
Run Code Online (Sandbox Code Playgroud)

我知道正则表达式中的语法是错误的,我尝试了很多变化,但无法得到它,任何想法?

regex perl

1
推荐指数
1
解决办法
166
查看次数

标签 统计

perl ×3

bash ×2

docker ×1

dockerfile ×1

regex ×1

shell ×1