小编Jam*_*mie的帖子

如何在远程系统上执行命令以生成BASH脚本?

作为复杂的BASH脚本的一部分,我想从脚本本身在远程系统上执行命令.

现在,我运行脚本为远程系统定制文件并上传它们,然后通过ssh登录我执行一个命令.

所以满分:

  • 如何从bash脚本登录远程系统(即以非交互方式传递凭据)?
  • 如何从脚本中执行命令(特别是"chmod 755/go &&/go")?

unix bash scripting remote-execution

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

如何计算词典列表中项目的出现次数?

我有一个词典列表(缩写).

my_list = [{ 'id':1, 'val':123 }, {'id':2, 'val':456 }, {'id':2, 'val':789 }]
Run Code Online (Sandbox Code Playgroud)

如何计算具有特定键的指定值的字典的出现次数(在本例中为' id')?有没有办法利用计数(my_list.count('id' = 1)?!?)

python python-2.7

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

我是否需要在Linux 3.12驱动程序中"启用"PCIe内存区域?

我有代码,从我的PCIe驱动程序的probe()函数调用(松散地基于这篇文章):

编辑: 根据Andreas Bombe的回复,我更改了代码使用pci_iomap(),但我仍然遇到系统挂起

static my_pci_dev pci_dev; /* local structure */
static int pci_setup_region(struct pci_dev *dev)
{
    int bar = 0;

    pci_dev.physical.addr = pci_resource_start(dev, bar);
    pci_dev.physical.size = pci_resource_len(dev, bar);

    pci_dev.virtual.addr = pci_iomap(dev, bar, pci_dev.physical.size);
    if (NULL == pci_dev.virtual.addr) {
        return -ENOMEM;
    } else {
        pci_dev.virtual.size = pci_dev.physical.size;
    }
    printk(KERN_ALERT "Virtual address: %p", pci_dev.virtual.addr);
    if (request_mem_region(pci_dev.physical.addr, pci_dev.physical.size, DEVICE_NAME) == NULL) {
        pci_release_resources();
        return -EBUSY;
    } else {
        pci_dev.physical.allocated = 1;
    }

    /* Test it out! …
Run Code Online (Sandbox Code Playgroud)

linux driver linux-device-driver linux-kernel pci-e

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

如何为平台驱动程序正确初始化属性组?

编辑#4: 我想通了,我不应该被分配attr_groupsgroups该领域driver中的场struct platform_driver结构。寻找/* WRONGO: should not be assigned here. */下面的评论。

我还没想好我应该把它分配在哪里......


由于 NULL 引用,我的平台驱动程序代码在读取 sysfs 属性时设法导致内核“OOPS”。我确定这是以下代码中的一个简单疏忽,但我看不到它:

...

static int samples_per_frame = SAMPLE_CHANNEL_COUNT;

DEVICE_INT_ATTR(samples_per_frame, S_IRUGO | S_IWUSR, samples_per_frame);

static struct attribute *attrs[] = {
    &dev_attr_samples_per_frame.attr.attr, NULL,
};

static struct attribute_group attr_group = {
    .attrs = attrs,
};

static const struct attribute_group *attr_groups[] = {
    &attr_group, NULL,
};

static struct platform_driver platform = {
    .remove = my_remove,
    .probe = my_probe, …
Run Code Online (Sandbox Code Playgroud)

linux driver

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

如何确定Linux内核'uImage'的构建版本?

我正在尝试追踪内核二进制文件; 有没有办法确定Linux'uImage'二进制文件的版本(构建字符串)?

运行

strings uImage
Run Code Online (Sandbox Code Playgroud)

通过各种拖尾grep声明导致我认为我正在处理压缩图像...

linux-kernel

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

如何在VBA excel宏中进行正则表达式搜索和替换?

我想创建一个VBA宏,用时间格式(正则表达式)替换工作表中的所有单元格:

(1[0-2]|[1-9]):[0-5][0-9]:[0-5][0-9] [AP]M
Run Code Online (Sandbox Code Playgroud)

使用单元格地址和工作表名称.我认为这个电话也是如此:

 Cells.Replace What:="1:23:45 AM",    
    Replacement:="=cell(""filename"")&cell(""Address"")", _
    LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:= _
    False, ReplaceFormat:=False
Run Code Online (Sandbox Code Playgroud)

但是我希望我能把这个" What:="论证作为一个规则,或者至少局限于时间格式.

我该怎么做?


测试数据:以CSV格式保存以下内容:

00:00,04:27,00:36,04:31,00:00
00:00,00:00,04:18,01:07,10:06
00:00,00:00,00:00,00:00,00:00
Run Code Online (Sandbox Code Playgroud)

最终宏将删除所有零次,并用作为评估公式的静态文本替换其他时间 =cell("filename")&"!"&cell("address")


作用于上述输入文件的结果(我将表格保存为XLSX):

     [    A    ]   [     B     ]  [     C     ]  [     D     ]  [     E     ]
[1]                'Sheet1!$B$1   'Sheet1!$C$1   'Sheet1!$D$1
[2]                               'Sheet1!$C$2   'Sheet1!$D$2   'Sheet1!$E$2
[3]
Run Code Online (Sandbox Code Playgroud)

为简洁起见,我删除了 函数返回的目录和文件名=cell("filename") ,尽管上面是我真正想要的.

regex excel vba excel-vba

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

从文件中确定(打开的)文件名*

给定一个stdio FILE *指针,有没有一种方法可以发现(打开)文件的名称?

c stdio

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

简化BASH脚本设计

我需要在脚本中执行任意次数的命令以及相关的任意参数.

我已经决定脚本将从参数文件(parameter.txt)获取其提示,其中行的形式如下:

label param1 param2
Run Code Online (Sandbox Code Playgroud)

对于每一行parameter.txt,我将使用指定的参数调用该命令.

到目前为止,我的修修补补是沿着下面的方向移动,但它看起来很乱:

while read line; do 
    echo $line | sed -r 's/[^ ]+ ([^ ]+).+/\1/' && 
        echo $line | sed -r 's/[^ ]+ [^ ]+ ([^ ]+)/\1/'
done < parameter.txt
Run Code Online (Sandbox Code Playgroud)

我的命令是以下形式:

mycmd -a param1 -b param2 > label
Run Code Online (Sandbox Code Playgroud)

我可以得到一些建议如何简化这个吗?

我这样做是为了一个小的嵌入式系统,其'帮助'命令供不应求(xargs例如不可用,类似于awk忙碌的繁忙盒实现),我正在使用版本2(我认为是2.04g) BASH.

linux bash

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

如何在awk中模拟`uniq -d`?

我有一个没有的busybox系统,uniq我想生成一个独特的重复行列表.

uniq仿效的一个简单的例子awk是:

sort <filename> | awk '!($0 in a){a[$0]; print}'
Run Code Online (Sandbox Code Playgroud)

我如何使用awk(或者sed就此而言perl)不能完成:

sort <filename> | uniq -d
Run Code Online (Sandbox Code Playgroud)

awk sed uniq

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

如何在python中搜索一系列行?

我想在两个日期之间搜索日期排序日志文件中的一系列行.如果我在命令行,sed将会派上用场:

sed -rn '/03.Nov.2012/,/12.Oct.2013/s/search key/search key/p' my.log
Run Code Online (Sandbox Code Playgroud)

以上内容仅显示2012年11月3日至2013年10月12日期间包含字符串" search key"的行.

我能做到这么轻便python吗?

我可以为上面建立一个单独的RE,但它会是噩梦.

我能想到的最好的是:

#!/usr/bin/python

start_date = "03/Nov/2012"
end_date = "12/Oct/2013"

start = False

try:
    with open("my.log",'r') as log:
        for line in log:
            if start:
                if end_date in line:
                    break
            else:
                if start_date in line:
                    start = True
                else:
                    continue
            if search_key in line:
                print line

except IOError, e:
    print '<p>Log file not found.'
Run Code Online (Sandbox Code Playgroud)

但这让我觉得不是'pythonic'.

可以假设搜索日期限制将在日志文件中找到.

python regex sed

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