小编Rez*_*aee的帖子

如何在贝壳中获得一年中的一天?

如何在贝壳中获得一年中的这一天

date '+%V'会给我一年中的一周,今天是15; 但我需要找到一年中的哪一天!

linux bash shell ksh

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

Git-2-SVN迁移?

是的我知道.你为什么要从Git迁移到SVN?

好吧,我碰巧遇到需要将巨大的Git仓库迁移到Subversion的情况!根据Edwin的评论,这是我尝试过的一个工作流程:

首先创建一个本地SVN repo: svnadmin create svn_repo

接下来我看看我的Git回购: git clone git:myNameSpace/myProject

cd进入myProject并运行:

git svn init -s --prefix=svn/ file:///home/myHome/svn_repo/myProject

git svn fetch

git rev-list --parents master | grep '^.\{40\}$' 查找根提交的哈希值,并且只提供一个提交.

接下来是获取空主干提交的哈希值: git rev-parse svn/trunk

不幸的是,这个失败了:

fatal: ambiguous argument 'svn/trunk': unknown revision or path not in the working tree. Use '--' to separate paths from revisions

好吧,我不能在这之后走多远....

svn migration git git-svn

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

这是编译器错误还是我的代码?

这是一个示例代码:

#include <iostream>
#include <stdexcept>
#include <cstring>
#include <ctime>
#include <sstream>

using std::cout;
using std::endl;

std::size_t const BUF_SIZE(1000);

std::ostream& operator<<(std::ostream& os, std::tm const& rhs)
{   
    os << asctime(&rhs);
    return os; 
}   

std::istream& operator>>(std::istream& is, std::tm& rhs)
{   
    while (is.peek() == ' ' || is.peek() == '\t')
    {   
        is.get();
    }   
    std::streampos curPos = is.tellg();
    char buf[BUF_SIZE];
    is.getline(buf, BUF_SIZE);
    char* ptr = strptime(buf, "%D %T", &rhs);
    if (ptr == 0)
    {   
        throw std::runtime_error("strptime() failed!");
    }   
    std::size_t processed = ptr - buf;
    is.seekg(curPos …
Run Code Online (Sandbox Code Playgroud)

c++ g++ clang istream clang++

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

使用perl作为更好的grep,使用单线模式m/RE/s匹配多条线路

我正在尝试grep表达式之间的文本(说BEGINEND),这些表达式可能不在同一行:

perl -wln -e 'm/BEGIN.+END/s and print;' < file.txt
Run Code Online (Sandbox Code Playgroud)

请注意,由于s修饰符(in m/RE/s),"."允许匹配换行符(以及其他任何内容).

这使得模式匹配特定顺序中的单词与它们之间的任何内容(即模式BEGIN在一行上,而模式END在下面的几行上).如果两个模式在同一行上,这可以正常工作,但不能跨越多行.我在这里错过了什么?

regex perl

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

诱捕CHLD信号 - ZSH有效,但ksh/bash/sh不起作用?

这是一个示例代码,其中shell脚本在后台启动一些作业,并在收到CHLD信号(即子进程终止)后,它将采取一些操作......问题是如果父shell脚本是ZSH,它工作得很好并且捕获了CHLD信号,但其他炮弹没有!这是为什么?

#! /bin/zsh -

function foo() { echo "Trapped CHLD signal!" 
}   

trap 'foo' CHLD

./child-work1.sh &
./child-work2.sh &
./child-work3.sh &

echo 'waiting for the children'
wait
echo '--------- done ---------'
Run Code Online (Sandbox Code Playgroud)

bash shell signals zsh sigchld

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

可变模板功能

我希望能够将可变数量的函数指针传递给模板函数,比方说foo.下面的例子显示了我到目前为止的情况,但是当我实际传递多个模板参数时它不会编译:

#include <iostream>
#include <cmath>

using FPtrType = double(*)(double);
constexpr double Identity( double x ) noexcept { return x; }

template <FPtrType Func=Identity>
constexpr double foo( double x ) noexcept( noexcept( Func(x) ) )
{
    return Func(x);
}
template <FPtrType Func, typename... Funcs>
constexpr double foo( double x, Funcs... funcs )
{
    x = Func(x);
    return foo<Funcs...>(x, funcs...);
}

int main()
{
    double x{ 0.5 };
    std::cout << x << '\t' << foo(x) << std::endl;  // …
Run Code Online (Sandbox Code Playgroud)

c++ templates variadic-templates c++11

3
推荐指数
2
解决办法
449
查看次数

标签 统计

bash ×2

c++ ×2

shell ×2

c++11 ×1

clang ×1

clang++ ×1

g++ ×1

git ×1

git-svn ×1

istream ×1

ksh ×1

linux ×1

migration ×1

perl ×1

regex ×1

sigchld ×1

signals ×1

svn ×1

templates ×1

variadic-templates ×1

zsh ×1