小编Per*_*ika的帖子

检查bash变量是否等于0

我有一个bash变量深度,我想测试它是否等于0.如果是,我想停止执行脚本.到目前为止,我有:

zero=0;

if [ $depth -eq $zero ]; then
    echo "false";
    exit;
fi
Run Code Online (Sandbox Code Playgroud)

不幸的是,这会导致:

 [: -eq: unary operator expected
Run Code Online (Sandbox Code Playgroud)

(由于翻译可能有点不准确)

请问,如何修改我的脚本以使其正常工作?

bash equals zero

162
推荐指数
5
解决办法
32万
查看次数

BASH:如何按排序顺序循环所有文件

我使用以下命令循环目录中的所有文件:

for i in *.fas; do some_code; done;
Run Code Online (Sandbox Code Playgroud)

但是,我收到这样的订单:

vvchr1.fas
vvchr10.fas
vvchr11.fas

而不是vvchr1.fas,vvchr2.fas,vvchr3.fas,什么是数字顺序.

我尝试过sort命令,但没有成功.

sorting bash loops

43
推荐指数
2
解决办法
6万
查看次数

gnuplot:如何在轴上使用*(10 ^ b)格式

我在x轴上使用了非常大的数字(数百万),所以当我使用时

set format x %6.0f
Run Code Online (Sandbox Code Playgroud)

我得到了像25000000这样的大数字.这是相当不错的,但需要很大的空间,所以只有很少的标签和读者丢失信息.

当我排除设置格式时,我会得到像2e + 07这样的东西,根据我的观点,对于读者来说,这是非常不友好和不寻常的.

我想格式化为25*(10 ^ 6),所以数字将是第一个,然后乘以10 ^ n,或类似的东西.如果x轴长约30000000点甚至更多,我认为这将是最好的解决方案.

但是,阅读手册,例如"如何更改数字的格式?" 来自http://t16web.lanl.gov/Kawano/gnuplot/tics-e.html并没有给我太多帮助.

先感谢您.

axis gnuplot scale

31
推荐指数
2
解决办法
4万
查看次数

如何在bash中处理每一行

我想打印奇数行(1,3,5,7 ..)而没有任何改变,但偶数行(2,4,6,8)处理以grep开头的管道.我想把所有内容写入新文件(奇数行没有任何变化,偶数行的新值).

我知道如何在awk中打​​印每一行:

awk ' NR % 2 == 1 { print; } NR % 2 ==0 {print; }' file.fasta
Run Code Online (Sandbox Code Playgroud)

但是,对于偶数行,我不想使用{print; }但我想使用我的grep管道.

建议将不胜感激.非常感谢.

bash awk

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

在Awk的最后一行打印逗号

我有以下脚本

awk '{printf "%s", $1"-"$2", "}' $a >> positions;
Run Code Online (Sandbox Code Playgroud)

其中$a存储文件的名称.我实际上是将多个列值写入一行.但是,我想在我不在最后一行时打印一个逗号.

shell awk separator

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

如何将bash与python混合使用

我非常喜欢使用unix命令,但我找到了点,我会发现嵌入式python部分很有用.这是我的代码:

#!/bin/bash -
echo "hello!";

exec python <<END_OF_PYTHON
#!/usr/bin/env python

import sys

print ("xyzzy")

sys.exit(0)
END_OF_PYTHON

echo "goodbye!";
Run Code Online (Sandbox Code Playgroud)

但是,只打印"hello".

$ ./script.sh 
hello!
xyzzy
Run Code Online (Sandbox Code Playgroud)

如何修改bash脚本以完全嵌入python?那么可以将python变量中的值传递给bash变量吗?非常感谢.

python bash

8
推荐指数
3
解决办法
3573
查看次数

C#从同一文件读取的多个程序实例

我编写了一个从文件读取的程序,根据给定的参数处理它并写入一些输出.我很好奇,如果用户创建我的程序的更多实例(通过打开可执行文件)并在同一文件上运行它们时可能会出现任何奇怪的问题.

我从文件中读取while循环和file.ReadLine().

c# file

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

C#System.IO.Directory.CreateDirectory - 用utf-8字符创建目录?

我从utf-8编码文件中读取数据.然后,此文件的部分内容将用作新创建的文件夹的名称.但是,我的文件夹名称是:

bohou _120328而不是bohouš_120328

如何为新创建的文件夹名称设置正确的编码?谢谢.

编辑:

我正在以这种方式从文件中读取信息:

System.IO.StreamReader file = new System.IO.StreamReader(nameOfFile);

 while ((j = file.ReadLine()) != null) { 
    //manipulating string in j
 }
Run Code Online (Sandbox Code Playgroud)

然后用.创建目录

if (Directory.Exists(folder) == false) {
                                    Console.WriteLine("creating directory " + folder);
                                    System.IO.Directory.CreateDirectory(@folder);
                                } 
Run Code Online (Sandbox Code Playgroud)

如果我在我的Windows 7,64位计算机上运行我的应用程序,一切都很好.但是,如果我在其他使用WinXP等旧系统的计算机上运行,​​编码就错了,看起来就像这样

bohou?_120328
Run Code Online (Sandbox Code Playgroud)

在使用变量创建文件夹之前,我将i写入输出,但一切都很好.甚至文件夹名称也没问题.但不幸的是,只是在我的电脑上.

编辑2:

事情变得更加奇怪.我用过这段代码如何从.NET中的字符串中删除变音符号(重音符号)?删除变音符号,因为没有变音符号的名字对我来说很好.

但是,再次:

  1. 在我的计算机上运行代码产生bohous_120328
  2. 在其他计算机上运行代码和我的闪存盘产生bohou _120328

我发誓它是相同的代码,因为我复制了我的.exe文件.

调试器说在创建文件夹之前问题已经存在于我的字符串变量中.我不明白,在这种情况下环境如何影响我的变量.

会很高兴解释:-)

c# utf-8

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

C#字典 - 如何解决项目数限制?

我正在使用字典,我需要存储近13 000 000个密钥.不幸的是,在添加11 950 000个密钥之后,我得到了一个例外"系统内存不足".有这个问题的解决方案吗?我将需要我的程序在比未来实际上更少的可用计算机上运行.

我需要那么多密钥,因为我需要存储对 - 序列名称和序列长度,它用于解决生物信息学相关的问题.

任何帮助将不胜感激.

c# dictionary limit

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

R中的反转轴

我试图绘制这样的简单图片,使用3个值 - 从文本文件加载xyz.

在此输入图像描述

现在我需要X轴从最大数字到最低数字(现在是右边的最大数字,我需要它们在左边),所以两个零点在同一个角落相遇.我正在使用这个简单的代码:

xyz <- read.table("excel")
scatterplot3d(xyz,xlim = c(0, 100000))
xyz
Run Code Online (Sandbox Code Playgroud)

我试过"转"没有成功.图片看起来总是一样的.将非常感谢帮助.

存储在名为"excel"的文件中的示例数据:

8884    20964   2
8928    5   1
9033    6   2
9261    61307   1
9435    64914   3
9605    5   2
9626    7   3
9718    5   3
10117   48941   7
10599   399 9
20834   5802    10
21337   3   8
21479   556 8
Run Code Online (Sandbox Code Playgroud)

我希望我的0,0,0点位于右下角.

reverse r

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

标签 统计

bash ×4

c# ×3

awk ×2

axis ×1

dictionary ×1

equals ×1

file ×1

gnuplot ×1

limit ×1

loops ×1

python ×1

r ×1

reverse ×1

scale ×1

separator ×1

shell ×1

sorting ×1

utf-8 ×1

zero ×1