小编Wil*_*ell的帖子

如何在GCC中发生无效指针算术运算

int main()  
{  
    int a;  
    void *p;  
    p = &a;  
    printf("%ld\n",(long)p);  
    p = p+1;  
    printf("%ld\n",(long)p);  
}  
Run Code Online (Sandbox Code Playgroud)

在这个程序中,p+1只是将p的值递增1.我知道void pointer arithmetic是不可能的C,所以GCC隐式地这样做.如果是的话,那就是它char pointer.另外,dereferencing如果void指针隐式执行指针运算,为什么不可能使用void指针.

c gcc pointers void-pointers pointer-arithmetic

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

如何在perl中进行命令替换?

在shell中基本上会像这样做命令替换

a=`uname -a`  
Run Code Online (Sandbox Code Playgroud)

然后在perl中怎么做?

perl

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

bash shell脚本中的意外输出

对于下面的脚本,我期待输出 msg_y and msg_z.但它是印刷品msg_x and msg_z.有人可以向我解释发生了什么事吗?

#!/bin/bash
 set -x

vr=2
echo $vr
if [ $vr > 5 ]
then
        echo "entered 1st if"
        echo "msg_x"

        echo "out of 1st if"

        if [ $vr < 8 ]; then
        echo "in of 2nd if"
        echo "msg_y"

        else
        echo "msg_z"
        fi

else
        if [ $vr > 1 ]; then echo "msg_y"

        else echo "msg_z"
        fi
fi
Run Code Online (Sandbox Code Playgroud)

linux bash shell

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

在 C 中创建计时器

如何创建计时器?类似于 Visual Basic 中的计时器;您设置了一个间隔,如果启用了计时器,它会一直等到时间到。

我不想使用现有的库,因为我想知道它是如何工作的。

所以..我只是希望有人能解释我定时器是如何工作的,也许给我一个代码示例来创建我自己的代码 - 如果它不是太先进。

编辑:我想为 linux 系统创建一个。

c timer

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

替换每个出现的char,除非它处于模式中

我想做点什么,但我不知道该怎么做.我有一个23 Mo的文件:

: (blah  
  :aaaaaaaaaaaaaaaaaaaa  
  (bbbbbbbbbbbbbbbbbbbb
: (bloh
  cccccccc
  dddddddd

...
Run Code Online (Sandbox Code Playgroud)

等等.我喜欢做的是删除所有行跳转"\n",除非\n后跟":("
所以最终文件将是:

: (blah  :aaaaaaaaaaaaaaaaaaaa (bbbbbbbbbbbbbbbbbbbb        
: (bloh  cccccccc  dddddddd
...
Run Code Online (Sandbox Code Playgroud)

我有几个想法要做,第一个是:
- 用sed 删除所有"\n"
- 替换所有":(" by "\n :("
但问题是文件是23MO我不知道如何在23mo的一行文件上管理这个.

第二个想法,但我仍然不知道如何做,是:
- 删除每个"\n",除非它匹配模式"\n :("
我不知道如何.
我只限于bash perl sed grep和awk作为ressource.
我真的很想得到你的意见.

祝你今天愉快.

linux bash awk grep sed

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

在整个目录中替换另一个单词 - unix

我重构一些代码,我又决定再更换一个名字,让我们说foobar.它们出现在多个.cc.h文件中,所以我想改为:

Foo key(); 
Run Code Online (Sandbox Code Playgroud)

Bar key();
Run Code Online (Sandbox Code Playgroud)

就是这样,替换所有出现FooBarUnix中.并且文件位于同一目录中.我想过

sed -e {'s/Foo/Bar/g'}
Run Code Online (Sandbox Code Playgroud)

但我不确定这是否会起作用.

regex unix

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

将文件A的内容追加到文件B中每行的末尾?庆典

我真的不能得到这一个.

文件A有这个:

1.1.1.1
2.2.2.2
3.3.3.3
Run Code Online (Sandbox Code Playgroud)

等等..

文件B将始终具有完全相同的行数,并且它们始终对应:

oneoneoneone
twotwotwotwo
3ee3ee3ee3ee
Run Code Online (Sandbox Code Playgroud)

我想将文件A附加到文件B,所以它看起来像:

1.1.1.1 oneoneoneone
2.2.2.2 twotwotwotwo
3.3.3.3 3ee3ee3ee3ee
Run Code Online (Sandbox Code Playgroud)

这就是我所拥有的,但不应该像它应该的那样:

对于`cat/tmp/fileB中的z; 做sed"s /(.*)/\1 $ z /"</ tmp/fileA >>/tmp/c;完成

有什么建议?

bash shell awk sed

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

提交无需更改

我有一个提交我的网站:

commit 7745ace83eff751025526b7a998406e5b5d1873d
Merge: 9e79649 09e570a
Date:   Thu Feb 19 17:07:03 2015 -0300

    Merge branch 'desarrollo' of git+ssh://192.168.1.200/home/git/project into dev

commit 9e79649a64ef9925655167a8e237d5fd36fad51e
Date:   Thu Feb 19 17:06:24 2015 -0300

    Comment. Blah... Blah...

 dir/file.inc        |    1 +
 db/file2.sql    |  327 ++++++-----------------------------------
 file3.php                      |    7 +-
 file4.php                     |    1 +
 admin/file5.php |    8 +
 admin/file6.php      |    6 +-
 admin/file7.php     |   12 +-
 7 files changed, 78 insertions(+), 284 deletions(-)
Run Code Online (Sandbox Code Playgroud)

如果更改提交7745ace83eff751025526b7a998406e5b5d1873d,则该站点被破坏.在提交9e79649a64ef9925655167a8e237d5fd36fad51e中,该站点没有该错误.

如何知道提交7745ace83eff751025526b7a998406e5b5d1873d中哪些文件发生了变化?

git merge commit

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

如何获得大括号扩展的备用分隔符?

我发现自己经常做一些愚蠢的事情,比如:

cmd $( echo foo{1,2,3} | tr ' ' , )
Run Code Online (Sandbox Code Playgroud)

当我想调用cmd foo1,foo2,foo3. 我希望能够做一些类似的事情:

OFS=, ; cmd foo{1,2,3}

强制大括号扩展给我一个逗号分隔的列表。有这样的功能可用吗?

bash

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

重新安装git会丢失我当地的git分支吗?

当我卸载git并稍后再安装时,我是否会丢失本地分支机构?

git

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

标签 统计

bash ×4

awk ×2

c ×2

git ×2

linux ×2

sed ×2

shell ×2

commit ×1

gcc ×1

grep ×1

merge ×1

perl ×1

pointer-arithmetic ×1

pointers ×1

regex ×1

timer ×1

unix ×1

void-pointers ×1