小编Vin*_*fer的帖子

grep -v命令后,轻松统计文件夹中文件列表中的单词

我一直在努力使我编写的脚本更简单,更简单.

有许多方法可以编写文件夹中所有文件的字数,甚至是文件夹子目录的所有文件.

例如,我可以写

wc */* 
Run Code Online (Sandbox Code Playgroud)

我可能得到这样的输出(这是所需的输出):

   0        0        0 10.53400000/YRI.GS000018623.NONSENSE.vcf
   0        0        0 10.53400000/YRI.GS000018623.NONSTOP.vcf
   0        0        0 10.53400000/YRI.GS000018623.PFAM.vcf
   0        0        0 10.53400000/YRI.GS000018623.SPAN.vcf
   0        0        0 10.53400000/YRI.GS000018623.SVLEN.vcf
   2       20      624 10.53400000/YRI.GS000018623.SVTYPE.vcf
   2       20      676 10.53400000/YRI.GS000018623.SYNONYMOUS.vcf
  13      130     4435 10.53400000/YRI.GS000018623.TSS-UPSTREAM.vcf
 425     4250   126381 10.53400000/YRI.GS000018623.UNKNOWN-INC.vcf
Run Code Online (Sandbox Code Playgroud)

但如果文件太多,我可能会收到如下错误消息:

-bash: /usr/bin/wc: Argument list too long
Run Code Online (Sandbox Code Playgroud)

所以,我可以创建一个变量,一次做一个文件夹,如下所示:

while read $FOLDER
do
    wc $FOLDER/* >> outfile.txt
done < "$FOLDER_LIST"
Run Code Online (Sandbox Code Playgroud)

所以这就是从一行到5行.

此外,在一种情况下,我想先使用grep -v,然后进行单词计数,如下所示:

grep -v dbsnp */* | wc
Run Code Online (Sandbox Code Playgroud)

但这会有两个错误:

  1. 参数列表太长
  2. 如果它不是太长,它会立即为所有文件提供wc ,而不是每个文件.

所以,回顾一下,我希望能够做到这一点:

grep …
Run Code Online (Sandbox Code Playgroud)

bash grep wc

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

pymouse.click没有与其他软件连接

我已经使用pymouse帮助过去自动化重复游戏并取得成功.

但是,当玩BlueStacks上下载的游戏时,pymouse似乎会移动到屏幕上的正确位置,但之后没有任何点击会"注册".

如果我在操作系统中放置其他原生的东西,则会点击它.我不明白为什么当我将鼠标移动到Bluestacks中正在玩游戏的位置时,点击不会"工作".

这是代码:

from pymouse import PyMouse
import time

m = PyMouse()

i=1
for i in range(1,1000):
        time.sleep(2)
        x, y = m.position()
        print(x, y)
        m.click(x,y,1)
        i+=1
Run Code Online (Sandbox Code Playgroud)

即使鼠标悬停在Bluestacks的窗口上,这个(下面)也会返回值.

print(m.position())
Run Code Online (Sandbox Code Playgroud)

python mouse input python-3.x

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

在Matlab中,如何在任意大的矩阵上执行fprintf命令

我正在使用matlab分析大型数据集.我希望能够在这个矩阵上运行fprintf命令行,它有大约22000列.所以,到目前为止我的想法是:

j=22;
for i = 1:j;
    fname = fopen(strcat('chr', num2str(i), '.out'), 'r');
    A = fscanf(fname, '%d', [1000,inf]);
    FIDW = fopen(strcat('chrproc', num2str(i), '.out'), 'w+');
    fprintf(FIDW, '%d\t%d\t%d\t%d\t%d\t%d\t\n', B);
end
Run Code Online (Sandbox Code Playgroud)

这个大小的22个文件将通过1-4行转换为矩阵.然而,棘手的部分(至少对我来说)是fprintf要求您提供FORMAT.因为这些文件太大,所以没有真正的方法输入%d\t.

也许fgetl命令更好?但fgetl不打印到文件,更重要的是,fgetl返回一个字符串,这对我来说效果不好.真的,像fscanf命令之类的东西会很棒,除了读取而不是打印...

非常感谢您的帮助和建议.

matlab printf scanf matrix

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

在R中的嵌套数据帧中多次调用ifelse

我有一个表格的数据框:

LociDT4Length
[[1]]
   Cohort  V1
1:    CEU 237
2:  Lupus 203
3:     RA 298
4:    YRI 278

[[2]]
   Cohort   V1
1:    CEU  625
2:  Lupus  569
3:     RA 1022
4:    YRI  762

[[3]]
   Cohort  V1
1:    CEU 161
2:  Lupus 203
3:     RA 268
4:    YRI 285

[[4]]
   Cohort   V1
1:    CEU 1631
2:  Lupus 1363
3:     RA 1705
4:    YRI 1887
Run Code Online (Sandbox Code Playgroud)

几天前,我学会了这个命令:

with(LociDT4Length[[1]], ifelse(Cohort=="RA", V1/62,
                         ifelse(Cohort=="Lupus", V1/62,
                         ifelse(Cohort=="CEU", V1/96,
                         ifelse(Cohort=="YRI", V1/80,NA)))))
Run Code Online (Sandbox Code Playgroud)

适当地返回结果:

[1] 2.468750 3.274194 4.806452 3.475000
Run Code Online (Sandbox Code Playgroud)

但是,我尝试将此语句置于循环中会为每个嵌套的DF返回一个警告,并返回不正确的结果.错误消息是:

1: …
Run Code Online (Sandbox Code Playgroud)

nested r lapply dataframe

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

致命错误:#include <stdio.h>在"pip install mysql-python"命令后生成

像许多人一样,我遇到了让mysql和python一起工作的问题.我的规格是:

OSX10.9.2带有python 2.7.2的Anaconda 1.9.1,虽然2.5和2.6似乎包含在MySQL 5.6.16中

我写了一个python脚本,我尝试导入MySQLdb,或PyMySQL然后MySQLdb,都没有工作.

我读了很多关于堆栈溢出的线程,结果我最终尝试了

$ export CFLAGS=-Qunused-arguments
$ export CPPFLAGS=-Qunused-arguments
$ pip install mysql-python
Run Code Online (Sandbox Code Playgroud)

结果如下.发出致命错误,可以在输出的底部看到.

下载/解压缩mysql-python下载MySQL-python-1.2.5.zip(108kB):108kB下载运行setup.py(路径:/ private/var/folders/lx/h7jq_qx92_j0n7plsjmr6wl40000gp/T/pip_build_vincent/mysql-python/setup. py)egg_info for package mysql-python

安装收集的软件包:mysql-python运行setup.py install for mysql-python构建'_mysql'扩展/ usr/bin/clang -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -Qunused-arguments -Qunused-arguments - Dversion_info =(1,2,5,'final',1)-D_ version _ = 1.2.5 -I/usr/local/mysql/include -I/Users/vincentlaufer/anaconda/include/python2.7 -c _mysql .c -o build/temp.macosx-10.5-x86_64-2.7/_mysql.o -Os -g -fno-strict-aliasing -arch x86_64在_mysql.c中包含的文件中:29:/ Users/vincent/anaconda/include /python2.7/Python.h:33:10:致命错误:'stdio.h'文件未找到#include ^ 1错误生成.错误:命令'/ usr/bin/clang'失败,退出状态1完成输出命令/ Users/vincentlaufer/anaconda/bin/python -c"import setuptools,tokenize; file ='/ private/var/folders/lx/h7jq_qx92_j0n7plsjmr6wl40000gp/T/pip_build_vincent/mysql-python/setup.py'; exec(compile(getattr(tokenize,'open',open)(file).read().replace('\ r \n','\n' ),file,'exec'))"install --record /var/folders/lx/h7jq_qx92_j0n7plsjmr6wl40000gp/T/pip-6aqGYj-record/install-record.txt --single-version-external-managed --compile:running安装

运行构建 …

python mysql mysql-python python-2.7 anaconda

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

使用awk gsub或通用正则表达式替换匹配本身,而不是通配符

我有以下外观的制表符分隔文件:

12-38070040-39070040    13-92416321-93446176    14-47539055-48560868     14-89244697-90244697   14-90046821-91047886    14-98556636-99556636    15-47718221-48718221    
Run Code Online (Sandbox Code Playgroud)

我想替换所有的实例:

选项卡,然后任意两位数,然后是连字符\ t [0-9] [0-9] -

有:

选项卡,然后相同的两个数字,然后冒号\ t相同的两个数字:

12:38070040-39070040    13:92416321-93446176    14:47539055-48560868     14:89244697-90244697   14:90046821-91047886    14:98556636-99556636    15:47718221-48718221    
Run Code Online (Sandbox Code Playgroud)

如何使用通配符进行匹配,然后替换匹配,而不是替换通配符?

最后一点,我已经问过,awk '{gsub()}'因为我使用它最多,但是如果有通用的"伪正则表达"可以在大多数环境,大多数文本编辑器等工作,我会很高兴了解到这一点.

regex awk replace find gsub

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

在R的par图形模块中,将矢量指定为"srt ="参数?

如果要制作绘图,并使用text()创建x轴标签,则可以指定字符串旋转或srt参数以及旋转轴标签的数字.例如,srt=45将文本旋转到45度.

说我有31列.如果我希望第一个是水平的,然后让它们逐渐变得更倾斜,最后一个是垂直的,可以想象:

slant=seq(0, -90, -3)
plot(some stuff)
text(x=mid, y=y.min-20, labels=chrs, xpd=TRUE, srt=slant, adj = 1, cex=1)
Run Code Online (Sandbox Code Playgroud)

其中mid,chrs和slant的长度是相同的.

有没有办法实现这个?

string plot r rotation par

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

将data.table的一列除以整数,取决于R中的另一列

我有data.table以下格式的R:

     COHORT      VARTYPE  SUM
  1:     RA          CDS   25
  2:     RA       INTRON 1152
  3:     RA        DONOR    0
  4:     RA     ACCEPTOR    1
  5:     RA TSS-UPSTREAM   98
 ---                         
101:    YRI      DISRUPT    0
102:    YRI  UNKNOWN-INC  979
103:    YRI         MIRB    0
104:    YRI         PFAM    8
105:    YRI     CGA_MIRB    0
Run Code Online (Sandbox Code Playgroud)

COHORT列中,有5个值.他们是RA,LupusCEU,YRIASW.

我希望DT$SUM根据值的不同,将列除以一个不同的整数DT$COHORT.

特别,

If DT[COHORT=="RA"]   then  DT$SUM<-(DT$SUM/62)
If DT[COHORT=="Lupus"]   then  DT$SUM<-(DT$SUM/62)
If DT[COHORT=="YRI"]   then  DT$SUM<-(DT$SUM/80)
If DT[COHORT=="CEU"] …
Run Code Online (Sandbox Code Playgroud)

r data.table

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