小编Dea*_*man的帖子

Linux:如何从组名中获取组ID?反之亦然?

我想检索特定组名的组ID.Linux/UNIX系统中是否有命令执行此操作?另外,如果我想以另一种方式做到这一点 - 从组ID获取组名,这也可能吗?

linux bash

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

Perl:字符串索引函数或正则表达式 - 哪个更好,什么时候?

我正在写一些Perl脚本,我需要做很多字符串匹配.例如:

my $str1 = "this is a test string";
my $str2 = "test";
Run Code Online (Sandbox Code Playgroud)

要查看$ str1是否包含$ str2 - 我发现有两种方法:

方法1:使用索引功能:

if ( index($str1, $str2) != -1 ) { .... }
Run Code Online (Sandbox Code Playgroud)

方法2:使用正则表达式:

if( $str1 =~ /$str2/ ) { .... }
Run Code Online (Sandbox Code Playgroud)

哪个更好?什么时候我们应该使用其中的每一个?

regex perl

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

如何在 Perl 中获取带有时间戳的微秒?

这可能是一个愚蠢的问题,但我无法找到答案:

我有一个Python代码,它打印时间戳,如下所示:

2015-05-19 22:27:00.688441
Run Code Online (Sandbox Code Playgroud)

生成该字符串的代码如下所示:

print str(datetime.datetime.strptime(time_value, '%Y-%m-%d %H:%M:%S.%f'))
Run Code Online (Sandbox Code Playgroud)

我想在 Perl(版本 5.14)中做同样的事情。我可以获得该字符串的所有部分(除了最后一个小数部分)(%f)

如何在 Perl 中获得完全相同的字符串?

PS:我尝试使用Time::HiRes模块。

use Time::HiRes;
my ($seconds, $microseconds) = gettimeofday;
Run Code Online (Sandbox Code Playgroud)

如果我能用的话$secondslocaltime()有可能吗?如果是这样,那又如何呢?

原始问题的扩展:如果我有一个变量$time_value——假设我已经从某个地方检索了该变量中的时间戳字符串,我如何将其格式化为所需的格式,即以微秒为单位的时间戳?

perl

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

如何存储命令行参数以供将来使用?

我有一个大的bash脚本(version 3.2.51(1)-release),我需要存储命令行参数以供脚本使用.

我在这里检查了很多线程,人们建议使用"$ @"来访问所有参数.

如果我运行此脚本(test.sh) -

#!/bin/bash
echo "$@";

$> ./test.sh 1 2 3
1 2 3
Run Code Online (Sandbox Code Playgroud)

但是,如果我运行这个

#!/bin/bash
set args1 = "$@";

... do some work here ...

echo $args1;
Run Code Online (Sandbox Code Playgroud)

跑步时我没有输出.我在这里错过了什么?我想存储参数而不修改它们,然后在脚本中稍后使用它们.

bash shell

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

使用Void*指针的链接列表

我想用C/C++创建一个通用链表(不使用C++模板).我写了以下简单的程序,它现在工作正常 -

typedef struct node
{
    void *data;
    node *next;
}node;


int main()
{
   node *head = new node();

   int *intdata = new int();
   double *doubledata = new double();

   char *str = "a";
   *doubledata = 44.55;
   *intdata = 10;

   head->data = intdata;

   node *node2 = new node();
   node2->data = doubledata; 
   head->next = node2;

   node *node3 = new node();
   node3->data = str;
   node3->next = NULL;
   node2->next = node3;

   node *temp = head;
   if(temp != NULL)
   {
    cout<<*(int *)(temp->data)<<"\t";
    temp = temp->next; …
Run Code Online (Sandbox Code Playgroud)

c++ pointers void-pointers

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

Perl:在运行时修改.pm文件中的数据结构

我有一个.pm文件,我有一个这样的数据结构:

my $var = {  
    "xyz" => {
        "pqr" => {
            "all" => "123",
        },
    },
    "abc" => {
        "zzz" => {
            "f"  => "foo1",
            "n"  => "foo2",
            "g"  => "foo3", 
        },
    },
};

sub getDataStructure() {
    return $var;
}
Run Code Online (Sandbox Code Playgroud)

这种getDataStructure方法被我系统上的各种程序广泛使用.

我想要的是有一个可以写入更多条目的脚本$var.我们假设这些值是用户输入.

我逐行读取文件中的行,一直持续到我};$var,现在我想回去一行,并使用print FH $newContent其中FH是我的文件句柄.

我怎么做?我尝试使用该seek功能,但无法找到正确的方法

请注意:这个问题不是关于如何将Perl哈希写入文件.这是一些技巧,它可以修改现有的.pm文件,并将一些新值写入我提到的数据结构中.

perl

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

Python Pandas:数据帧/系列中元素的比较

我在名为“myDataFrame”的变量中有一个 DataFrame,如下所示:

+---------+-----+-------+-----
| Type    | Count  |  Status |
+---------+-----+-------+-----
| a       |  70    |     0   |
| a       |  70    |     0   |
| b       |  70    |     0   |
| c       |  74    |     3   |
| c       |  74    |     2   |
| c       |  74    |     0   |
+---------+-----+-------+----+
Run Code Online (Sandbox Code Playgroud)

我使用矢量化方法来处理此 DataFrame 中的行,因为我拥有的行数约为 1.16 亿。

所以我写了这样的东西:

myDataFrame['result'] = processDataFrame(myDataFrame['status'], myDataFrame['Count'])
Run Code Online (Sandbox Code Playgroud)

在我的函数中,我试图这样做:

def processDataFrame(status, count):
    resultsList = list()
    if status == 0:
       resultsList.append(count + 10000)
    else:
       resultsList.append(count …
Run Code Online (Sandbox Code Playgroud)

python numpy pandas numpy-ndarray

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

标签 统计

perl ×3

bash ×2

c++ ×1

linux ×1

numpy ×1

numpy-ndarray ×1

pandas ×1

pointers ×1

python ×1

regex ×1

shell ×1

void-pointers ×1