小编use*_*748的帖子

Bash中的循环子shell困境

我想计算给定目录中的所有*bin文件.最初我正在使用for-loop:

var=0
for i in *ls *bin
do
   perform computations on $i ....
   var+=1
done
echo $var
Run Code Online (Sandbox Code Playgroud)

但是,在某些目录中有太多文件导致错误: Argument list too long

因此,我正在尝试使用管道while-loop:

var=0
ls *.bin | while read i;
do
  perform computations on $i
  var+=1
done
echo $var
Run Code Online (Sandbox Code Playgroud)

现在的问题是使用管道子壳创建.因此,echo $var回报0.
我该如何处理这个问题?
原始代码:

#!/bin/bash

function entropyImpl {
    if [[ -n "$1" ]]
    then
        if [[ -e "$1" ]]
        then
            echo "scale = 4; $(gzip -c ${1} | wc -c) / $(cat ${1} …
Run Code Online (Sandbox Code Playgroud)

bash shell

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

如何更改给定boxplot数字的'PlotStyle'属性?

给定Matlab箱图的.fig文件(即底层数据不可用),是否可以更改PlotStyle属性(从"传统"到"紧凑")?

matlab boxplot matlab-figure

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

R - 从数据框创建散点图

我有一个all看起来像这样的数据框:

http://pastebin.com/Xc1HEYyH

现在我想创建一个散点图,其中x轴的列标题和相应的值作为数据点.例如:

7|                 x  
6|          x      x  
5|  x       x      x     x    
4|  x       x            x 
3|                             x      x  
2|                             x      x
1|
 ---------------------------------------
    STM    STM    STM   PIC   PIC    PIC
   cold   normal  hot  cold  normal  hot
Run Code Online (Sandbox Code Playgroud)

这应该很容易,但我无法弄清楚如何.

问候

plot r scatter-plot ggplot2 lattice

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

安装gdata失败(在64位Linux上)

我正在研究一个使用gplots库的R脚本.因此在剧本的某些方面

library(gplots)
Run Code Online (Sandbox Code Playgroud)

叫做.使用32位Linux机箱(Linux和3.2.0-33-generic-pae 52-Ubuntu SMP i686 GNU/Linux,Ubuntu 12.04)可以很好地工作.
但是,我尝试在64位计算机上运行该脚本(Linux sim 2.6.38-15-server 66-Ubuntu SMP x86_64 GNU/Linux; Ubuntu 11.04),现在它抛出错误:

Error in library(gplots) : there is no package called 'gplots'
Calls: generateHeatmap -> library
Execution halted
Run Code Online (Sandbox Code Playgroud)

所以当我尝试安装gplots时会引发另一个错误:

> install.packages('gplots', type="source", dependencies=T)
ERROR: dependency ‘gdata’ is not available for package ‘gplots’
* removing ‘/home/schaller/R/x86_64-pc-linux-gnu-library/2.12/gplots’
...
Run Code Online (Sandbox Code Playgroud)

因此,我正在尝试安装gdata:

>install.packages('gdata', type="source", dependencies=F)
Installing package(s) into ‘/home/schaller/R/x86_64-pc-linux-gnu-library/2.12’
(as ‘lib’ is unspecified)
Warning message:
In getDependencies(pkgs, dependencies, available, lib) :
  package ‘gdata’ is not available
Run Code Online (Sandbox Code Playgroud)

我在网上搜索了可能的解决方案.我找不到任何东西.但是,我读到在64位模式下当前R版本的gdata被破坏了.有人发布了补丁回购[1],但我无法使用这个回购安装gdata.那么这意味着现在不可能在64位机器上使用这个软件包吗?

[1] - https://stat.ethz.ch/pipermail/r-help/2010-April/236966.html …

r

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

如何影响函数的地址?

有没有一种方法来影响,设置或定义函数的(相对)地址?也许链接器脚本有任何可能性来确保函数abc()始终驻留在OFFSET + 0x0034C0(仅作为示例).我想以某种方式"控制"内存中函数的位置,使这些位置进行某种参数化.目前我正在使用gcc在我的x86上寻找一种方法.但是,真正的应用程序应该在嵌入式设备上运行.

问候

c assembly

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

加速处理较大的二进制文件

我必须通过读取它们并创建一个位级数据结构(通常是1x134217728数组)来处理数千个二进制文件(每个16MB),以便在位级处理它们.

目前我这样做的方式如下:

conv = @(c) uint8(bitget(c,1:32));
measurement = NaN(1,(sizeOfMeasurements*8))   %(1,134217728)
fid = fopen(fileName, 'rb');
byteContent = fread(fid,'uint32');
fclose(fid);
bitRepresentation1 = arrayfun(conv, byteContent, 'UniformOutput', false);
measurement=[bitRepresentation1{:}];
Run Code Online (Sandbox Code Playgroud)

因此,我取代fopenmemmapfile如下:

m = memmapfile(fileName,'Format',{'uint32', [4194304 1], 'byteContent'});
byteContent = m.data.byteContent;
byteContent = double(byteContent);
Run Code Online (Sandbox Code Playgroud)

我为各个指令打印了时间信息(使用tic/ toc),结果表明瓶颈是:

bitRepresentation1 = arrayfun(conv, byteContent, 'UniformOutput', false);  % see first line of code for conv
Run Code Online (Sandbox Code Playgroud)

是否有更有效的方法转换byteContent为存储每个索引位数的数组(即,这是一个位代表byteContent)?

performance file-io matlab bit-manipulation binaryfiles

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

使用 ZAP 枚举子目录

我正在使用 ZAP 2.7.0,我想枚举给定站点的子目录中可能的文件/目录。DirBuster 工具已不再在市场上销售。但是,ZAP 实现了与字典文件结合使用的“强制浏览”功能。

我能够对给定站点 abc.com 使用强制浏览。但是,我只想将其应用于子目录 abc.com/subdir1/。如何才能做到这一点?

brute-force subdirectory zap

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

在PandaBoard ES上启用denx u-boot 2015.04的调试模式

我想为denx u-boot 2015.04启用调试模式.但是,我找不到-DDEBUG开关或类似的东西config.mk.我还尝试通过添加#define DEBUG到几个[emif-common.c](https://github.com/malvira/uboot/blob/master/arch/arm/cpu/armv7/omap-common/emif-common.c)文件arch/arm/cpu/armv7而无法成功启用本地调试.

debugging mode u-boot

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