小编San*_*ngh的帖子

Grep:列出'每个文件'结果

有没有办法使用grep整齐地列出'per-file'结果.

就像是:

$grep -i -r -n Search_Pattern .
Run Code Online (Sandbox Code Playgroud)

输出:

file1.c:

LINE_NO: .......... Search_Pattern ....... /* Line Containing Search Pattern */
LINE_NO: .......... Search_Pattern .......
LINE_NO: .......... Search_Pattern .......
LINE_NO: .......... Search_Pattern .......

file2.c:

LINE_NO: .......... Search_Pattern .......
LINE_NO: .......... Search_Pattern .......
LINE_NO: .......... Search_Pattern .......
LINE_NO: .......... Search_Pattern .......
Run Code Online (Sandbox Code Playgroud)

unix linux shell grep

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

如何记录 Linux 文件系统中的每日变化?

任何人都可以建议我一些脚本或机制,以便我可以每天记录对我的 GNU/Linux 文件系统所做的所有更改。

例子:

假设我在 2012 年 1 月 1 日进行了以下更改:

File_Modified                Modification_type      Date/Timestamp

/mnt/linux_d/notes.txt       Added                  1-Jan-2012 10:00 AM

/root/Desktop/log/pdf        Deleted                1-Jan-2012 2:00 PM

/root/Document/sample.html   Modified               1-Jan-2012 5:00 PM
Run Code Online (Sandbox Code Playgroud)

谢谢。

此致,

桑迪普·辛格

linux filesystems daemon

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

如何在char数组中获取`date`命令的输出?

我想把GNU/Linux date命令的输出放在一个字符数组中.

例:

char array[25];
Run Code Online (Sandbox Code Playgroud)

$ date
Thu Jul 19 09:21:31 IST 2012
Run Code Online (Sandbox Code Playgroud)

printf("%s", array);
/* Should display "Thu Jul 19 09:21:31 IST 2012" */
Run Code Online (Sandbox Code Playgroud)

我试过这个:

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

#define SIZE 50

int main()
{
    char array[SIZE];

    sprintf(array, "%s", system("date"));
    printf("\nGot this: %s\n", array);

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

但输出显示NULL在数组中.

c linux

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

在数组中搜索连续数字相差+ 1/-1的键

给定一维数组.该数组的每个数字与前一个数字相差+1或-1.示例:数组{5,6,7,6,5,6,7,8,9,8}

您将获得一个数字来搜索此数组中的第一个匹配项(例如:搜索8 - 您的代码应返回7).不要使用线性搜索.

没有线性搜索,我可以尝试如下:

Check if (array[0] == Key)
{
        YES:
           return 0;
}

Take a variable: Diff = array[0]

// Keep on traversing the array, if Next Number>Current Number
   Diff += 1
   Else
   Diff -= 1

if (Diff==key)
{
    return current_index+1;
}
Run Code Online (Sandbox Code Playgroud)

但这种方法过于通用.即使键之间的差异不是+ -1而是其他东西,这种方法也可以解决这个问题.

关于+ -1差异有什么特别之处,这可以给我一个更好的解决方案?

谢谢.

algorithm data-structures

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

分析gdb中的浮点值

示例代码:

int main()
{
        float x = 456.876;

        printf ("\nx = %f\n", x);

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

在gdb中,我执行了这样的代码:

Breakpoint 1, main () at sample_float.c:5   
5               float x = 456.876;   
(gdb) n    
7               printf ("\nx = %f\n", x);   
(gdb) p &x   
$1 = (float *) 0x7fffffffd9dc   
(gdb) x/4fb &x   
0x7fffffffd9dc: 33      112     -28     67   
Run Code Online (Sandbox Code Playgroud)

是否可以使用x/fb命令查看x的地址值:456.876?

谢谢.

gdb

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

当main()调用main()时堆栈帧会发生什么

请考虑以下代码:

#include <stdio.h>

int main()
{
    static int counter=5;

    printf ("Counter = %d\n", counter);

    if (counter--)
    {
        main();
    }

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

编译:

gcc test.c -ansi -Wall –pedantic
Run Code Online (Sandbox Code Playgroud)

执行:

[root@mars home]# ./a.out 
Counter = 5
Counter = 4
Counter = 3
Counter = 2
Counter = 1
Counter = 0
Run Code Online (Sandbox Code Playgroud)

这里main()调用自己().

似乎main()每次main()调用函数的原始堆栈帧时都会被覆盖.

但回信地址是什么?函数可以返回自己的堆栈框架吗?

请帮我澄清这个疑问.

谢谢.

c program-entry-point stack-frame

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

混淆二维数组

请考虑以下2-D阵列:

int array[2][2] = {
                    {1,2},
                    {3,4}
                  };
Run Code Online (Sandbox Code Playgroud)

根据我的理解: - 'array'表示二维数组的基地址(与数组的第一个元素的地址相同,即数组[0] [0]).

  • 内存中二维数组的实际排列就像一个大型的一维数组.

  • 现在,我知道base address = array.因此,我应该能够到达包含元素的内存块:array [0] [0].

  • 如果我忘记了2-D数组的事情并尝试将此数组视为一个简单的1-D数组:array [0] =*(array + 0)给出第一个数组的基地址而不是元素数组[0 ] [0].为什么?

  • 二维数组不存储任何内存地址(如指针数组).

  • 如果我知道基址,我必须能够以线性1-维数组的形式访问该存储器.

请帮我澄清这个疑问.

谢谢.

c multidimensional-array

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

使用整数值初始化非const引用

请考虑以下代码:

#include <iostream>

using namespace std;

class test
{
    int& ref;
    public:
    test(int i):ref(i)
    {
        cout << "Constructor Called" << endl;
    }
    void p(){ cout<< ref << "\n";}
};

int main()
{
    test obj(5);
    obj.p();

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

输出:

Constructor Called
5
Run Code Online (Sandbox Code Playgroud)

怀疑:这里如何使用整数值(5)初始化非const引用(ref),而以下代码失败:

int& r = 5;
Run Code Online (Sandbox Code Playgroud)

c++ reference

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

替换Vim中2个字符之间的文本

我正在编写遗留代码,我的声明如下:

int array[MAX_SIZE_FOR_THIS_ARRAY];
Run Code Online (Sandbox Code Playgroud)

在VIM中,我想用[&](包括[&])替换ARRAY之间的文本,如下所示:

int array_ARRAY_;
Run Code Online (Sandbox Code Playgroud)

请注意:1.阵列大小宏对于不同的阵列会有所不同,因此我们不能在搜索模式中使用MAX_SIZE_FOR_THIS_ARRAY.2.变量"array"的名称也不固定.

我需要搜索[] ,并在数千行代码中用ARRAY替换[...] .

有人可以帮我这个吗?

vim shell sed

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

将子字符串与perl中的空格匹配

我试图在perl中匹配一个给定字符串的子字符串.

当子字符串包含空格时,匹配失败.

例:

请考虑以下字符串变量:

var = "test [abc], def, xyz,"
Run Code Online (Sandbox Code Playgroud)

表达方式:

($var=~ m/test [abc]/)
Run Code Online (Sandbox Code Playgroud)

不返回1.

没有空格的字符串工作正常:

Example:

($var=~ m/def/)

is returning 1.
Run Code Online (Sandbox Code Playgroud)

请帮忙.

谢谢

regex perl

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

如何在C中随机混洗链表

我有一个链接列表,我想实现一个功能:

Random_Shuffle_List (struct node **Headptr) - 输出一个列表,使每个节点从其原始位置随机移动.

请帮我一个有效的算法来实现这一目标.

c algorithm list data-structures

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