小编z.r*_*ubi的帖子

使用 unix 实用程序删除连续的重复行

这听起来很简单,但实际上要复杂一些。我想使用 unix 实用程序来删除连续的重复项,保留原来的。但是,我还想保留其他不会在原始之后立即出现的重复项。例如,如果我们有以下几行:

O B 
O B 
C D 
T V
O B
Run Code Online (Sandbox Code Playgroud)

我希望输出是:

O B 
C D
T V
O B 
Run Code Online (Sandbox Code Playgroud)

尽管第一行和最后一行相同,但它们不连续,因此我想将它们保留为唯一条目。

unix bash utility duplicates

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

使用 UNIX 实用程序将多个换行符替换为 2 个换行符

我试图寻找正确的方法来实现这一点,从标准输入读取并打印到标准输出。我知道我可以使用挤压(-s)来删除相同类型的多行,但我想在许多行(而不仅仅是一行)中留下两个换行符。我也研究过使用 uniq,但不确定如何使用。我知道也可以使用折叠,但我找不到任何有关我想要的折叠版本折叠(1p)的信息。

所以,如果我有文本作为输入:

    A B C D 



    B C D E
Run Code Online (Sandbox Code Playgroud)

我希望输出是

    A B C D 

    B C D E 
Run Code Online (Sandbox Code Playgroud)

unix bash utilities newline utility

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

将数组的指针传递给要在C中的printf`中使用的函数

我遇到了分段错误的麻烦,似乎是我试图printf()用来取消引用单个数组值,而不是使用指向我要打印的内存位置的指针.

如果我在一个函数中定义一个数组,并希望在包含的循环中传递该数组以通过char引用char printf(),我应该如何传递和引用该数组?

void arrayFunc(){

  char array [5];
  array[0] = 'a';
  array[1] = 'b';
  array[2] = 'c';
  array[3] = 'd';
  array[4] = 'e';

  printArray(array);
}

void printArray(char* array1){
  int i;
  for(i = 0; i < 5; i++){
        printf("%c", array1 + i);
  }
}
Run Code Online (Sandbox Code Playgroud)

似乎没有完成工作.

c memory arrays segmentation-fault

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

标签 统计

bash ×2

unix ×2

utility ×2

arrays ×1

c ×1

duplicates ×1

memory ×1

newline ×1

segmentation-fault ×1

utilities ×1