小编cxw*_*cxw的帖子

如何在git中搜索标签注释的内容?

我即将发布我的第一个git-managed项目的第一个版本,并将使用带注释的标签("first alpha release")标记它.稍后,为了找出哪个是第一个alpha版本,我想搜索标签注释的内容为"first alpha".我该怎么办?

我知道git log --grep会搜索提交消息的内容并git show告诉我标签注释的内容,但是我无法从联机帮助页或Google中找出什么命令会对标签注释进行搜索.我是否必须转储存储标记注释的记录并使用其他工具进行搜索?我在想象git show $(git tag)|grep "first alpha"并希望有更好的方法.

tags git version-control full-text-search release-management

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

如何在开放区间(x,y)获得下一个随机翻倍

我知道半闭区间内随机数的基本算法是:

Random rand = new Random();
double increment = min + (max - min) * rand.nextDouble();
Run Code Online (Sandbox Code Playgroud)

这将在间隔上给出一个随机数,[min, max)因为它返回nextDouble的结果([0.0,1.0))范围内包含0 .有没有一种很好的方法来排除最小值,而是提供一个随机数(min, max)

java random intervals

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

将结构从main()传递给worker函数时的Segfault

我正在尝试用C编写一个简单的游戏,我得到了一个SEGFAULT,并且不知道为什么!

这是该程序的代码:

#include <stdio.h>
#include <string.h>

#define MAX_PLYS_PER_GAME (1024)
#define MAX_LEN (100)

typedef struct {
   char positionHistory[MAX_PLYS_PER_GAME][MAX_LEN];
} Game;

void getInitialGame(Game * game) {
    memset(game->positionHistory, 0, MAX_PLYS_PER_GAME*MAX_LEN*sizeof(char));
}

void printGame(Game game) {
    printf("Game -> %p (%d)\n", &game, sizeof(game));
    fflush(stdout);
}

int hasGameEnded(Game game) {
    printGame(game);
    return 0;
}

int main(int argc, char *argv[]) {
    Game game;
    getInitialGame(&game);

    if (hasGameEnded(game))
        return -1;

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我尝试用gdb调试,但结果并没有让我太过分:

C:\Users\test>gdb test.exe
GNU gdb 5.1.1 (mingw experimental)
<snip>
This GDB was configured as "mingw32"...
(gdb) …
Run Code Online (Sandbox Code Playgroud)

c struct pass-by-value segmentation-fault pass-by-pointer

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

重命名具有任何扩展名的perl文件

我希望能够重命名具有不同扩展名的perl文件,只要文件名相同即可。例如,

ExampleFile.txt
ExampleFile.html
FirstFile.txt

我希望我可以在Linux上使用Perl单行代码来更改包含字符串“ ExampleFile”作为名称的文件,而不管其扩展名是“ FinalFile”,但不适用于任何其他文件,例如“ FirstFile”。我正在调查,rename但似乎无法弄清楚如何将其用于任何文件扩展名。

这样做rename "$findstring.*", "$replacestring.*";似乎不起作用,因为perl无法识别*代表任何文件扩展名。

这里是一个示例代码,可以显示我的问题。

#!/usr/bin/perl
use strict;
use warnings;

my $findstring = "ExampleFile";
my $replacestring = "FinalFile";

rename ("myDir/$findstring.*", "myDir/$replacestring.*"); 

Run Code Online (Sandbox Code Playgroud)

regex linux perl glob

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

2美元:没有这样的文件或目录

我的代码是:

#!/bin/bash
if [ $1 -gt $2 ];then
    echo $1 > $2
fi
if [ $1 -eq $2 ];then
    echo $1 = $2
fi
if [ $1 -lt $2 ];then
    echo $1 < $2
fi
Run Code Online (Sandbox Code Playgroud)

通过./script.sh 3 56我得到的响应执行脚本是 ./script.sh: line 9: 56: No such file or directory.我有权执行该脚本.我是bash编程和使用linux的新手.请告诉我如何修复我的脚本.

bash quoting io-redirection

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

如何在 Bash 中使用带有长选项的 getopt?

我在 Bash 中有以下代码:

declare {BPM_USERNAME,BPM_PASSWORD,HOST,TARGET_IP,OVERRIDE_STATUS}=''
OPTS=`getopt -a --longoptions username:,password:,csc:,ip:,override: -n "$0" -- "$@"`
eval set -- "$OPTS"

if [ $? != 0 ] ; then echo "Failed parsing options." >&2 ; exit 1 ; fi

while true; do
    echo ""
    echo $OPTS
    echo $1
    echo $2

  case "$1" in
    --username )
        BPM_USERNAME=$2
        shift 2
        ;;
    --password )
        BPM_PASSWORD=$2
        shift 2
        ;;
    --csc )
        HOST=$2
        shift 2
        ;;
    --ip )
        TARGET_IP=$2
        shift 2
        ;;
    --override )
        OVERRIDE_STATUS=$2
        shift 2
        ;;
    --) …
Run Code Online (Sandbox Code Playgroud)

bash getopt command-line-arguments

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

使用eval运行管道命令

我有以下命令行来检查文件系统的可用空间:

fs_used=`df -h /u01 | sed '1d' | sed '1d' | awk '{print $4}' | cut -d'%' -f1`
Run Code Online (Sandbox Code Playgroud)

它工作正常.它返回文件系统上已用空间的百分比(不带%符号).

现在我需要使它变量并使用eval命令运行它.我尝试了以下但它不起作用(退出df:无效选项 - 'd')

df_cmnd="df -h $fs1 | sed '1d' | sed '1d' | awk '{print $4}' | cut -d'%' -f1"
fs_used=eval $df_cmnd
Run Code Online (Sandbox Code Playgroud)

我想,问题是eval无法运行管道命令.真的吗?是否有任何解决方法或替代方法来运行此代码?

bash eval escaping pipe quoting

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

使用 Perl 解析 JavaScript:从 JE-&gt;parse 获取“undef”

我有 Javascript 代码,我需要将 javascript 变量解析为 perl 哈希。有没有现成的模块?我尝试了JE::parse()JavaScript::HashRef::Decode但都没有奏效。

预期行为:

use Data::Dumper;
use SomeModule::ParseJSVariables qw/decode_js/;

my $str = qq/
var data = {
    'abc': 1,
    'def' : 2
    'xyz' : { 'foo' : 'bar' }
}
/;

my $res = decode_js($str);
warn Dumper $res; #

# expected result: 
# { 
#   name => 'data', 
#   value => {
#     'abc' => 1,
#     'def' => 2
#     'xyz' => { 'foo' => 'bar' }
#     }
# } …
Run Code Online (Sandbox Code Playgroud)

javascript perl parsing static-code-analysis

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