小编mba*_*off的帖子

如何使'cut'命令将同一个sequental分隔符视为一个?

我正在尝试从基于列的"空格"调整的文本流中提取某个(第四个)字段.我正在尝试以cut下列方式使用该命令:

cat text.txt | cut -d " " -f 4

不幸的是,cut不会将多个空格视为一个分隔符.我本可以通过awk进行管道传输

awk '{ printf $4; }'

或者sed

sed -E "s/[[:space:]]+/ /g"

崩溃的空间,但我想知道是否有任何办法处理cut和本地几个分隔符?

unix bash cut delimiter

303
推荐指数
3
解决办法
14万
查看次数

为什么卷积结果在时域和频域中执行时有不同的长度?

我不是DSP专家,但据我所知,有两种方法可以将离散时域滤波器应用于离散时域波形.第一种是在时域中对它们进行卷积,第二种是对两者进行FFT,将两个复数谱相乘,并对结果进行IFFT.这些方法的一个关键区别是第二种方法受循环卷积的影响.

例如,如果滤波器和波形都是N点长,则第一种方法(即卷积)产生的结果是N + N-1点长,其中该响应的前半部分是滤波器填满和第二一半是过滤器排空.为了获得稳态响应,滤波器需要的点数少于要滤波的波形数.

使用第二种方法继续该示例,并假设离散时域波形数据全部是真实的(不复杂),滤波器的FFT和波形都产生N点长的FFT.将两个频谱相乘IFFT,结果产生时域结果,N点长.这里过滤器填满和空的响应在时域中相互重叠,并且没有稳态响应.这是循环卷积的效果.为了避免这种情况,通常滤波器尺寸将小于波形尺寸,并且两者都将是零填充的,以允许频率卷积的空间在两个频谱的乘积的IFFT之后及时扩展.

我的问题是,我经常看到来自知名专家/公司的文献中的工作,他们有离散(实际)时域波形(N点),他们对它进行FFT,将其乘以某个滤波器(也是N点),和IFFT后续处理的结果.我天真的想法是这个结果应该不包含稳态响应,因此应该包含过滤器填充/清空中的工件,这些工件会导致解释结果数据时出错,但我必须遗漏一些东西.在什么情况下这是一种有效的方法?

任何见解将不胜感激

signal-processing fft fftw

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

用于从给定符号,尾数和指数构造浮点(double)的宏或函数?

是否有任何宏或函数从给定的符号,尾数和指数(所有二进制或十进制)构造一个float(double),它返回一个有效的float(double)数字,如果input表示的数字不能代表,则返回NaN漂浮(双)?

c c++ floating-point double

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

与订单无关的密码

是否存在加密方法,加密和解密顺序是任意的?就像在同一个锁定环上使用两个挂锁一样.

也就是说,如果有两个密钥(或密钥对)K1, K2,消息M和密码C被获得为(例如)C=M*K1*K2(其中*表示加密),则M可以通过以下每种方式检索消息:1)M=C*K1*K2,2)M=C*K2*K1(这里*表示解密).

显然,XOR是一个微不足道的候选人.是否存在任何加密强大的例子?

encryption cryptography

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

求向量在二十面体或其展开表面上的投影

考虑一个中心位于坐标原点的球体和一个内切二十面体,其方向使得两个最远的顶点位于 Z 坐标轴上,并且从任何顶点出现的边之一位于 XZ 平面中。

考虑一个x源自球体中心的给定向量。由该向量给出的方向在某个点穿过二十面体的表面。

有没有一种优雅的方法来找到穿孔的面(考虑到所有的面都被枚举),然后找到这个面上的穿孔点?此任务需要将刺穿点投影到平坦的展开(展开)二十面体表面。

3d geometry computational-geometry

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

是否有任何标准化和常用的C(C99或其他)库,因为STL适用于C++?

可能重复:
C的容器类/库

我希望我不得不为我的C程序使用向量,列表和集合.我应该从头开始创建这些实体,还是有一些C标准库,因为STL适用于C++?

c c++ stl

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

如何知道哪个QLineEdit在信号处理程序中发出了editingFinished()?

我想为几个类似的QLineEdit对象实现对用户输入的自定义响应.我想创建一个公共处理程序editingFinished()textChanged()信号并将其分配给所有QLineEdits.但是,响应需要知道信号的发送者 - 例如,它必须突出显示不同颜色的输入文本.

我怎么知道它的处理程序中信号的发送者?

c++ qt qt4

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

为什么指向字符串文字后无法指针free()

关于我的问题有一些相关的讨论,但没有关于我的问题的明确解释.

我认为free()无论我malloc()在哪里,无论何时何地,但我必须这样做,以防止内存泄漏.所以我有以下程序:

#include<stdio.h>
#include<stdlib.h>

int main(void)
{
    int *ptr;

    ptr = malloc(256);

    if (ptr == NULL)    {
        printf("Out of memory\n");
        return 1;
    }

    *ptr = 10;

    printf("The value of PTR is:\t%d\n",*ptr);
    free(ptr);

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

我有一个指针,我动态分配了一些内存(256),然后我检查了它的NULL字母free().

直到这里一切正常:指针被动态分配一些内存然后我free().

现在我将使用一个字符指针,在我将动态分配一些内存(256)后,我将指向字符串文字的指针,让我们说MICHI:

#include<stdio.h>
#include<stdlib.h>

int main(void)
{
    char *ptr;

    ptr = malloc(256);

    if (ptr == NULL)    {
        printf("Out of memory\n");
        return 1;
    }

    ptr = "michi";
    printf("%s",ptr);

    free(ptr);

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

在这里我做错了,因为如果我尝试free()它,那么它将无法工作,因为它发生了我将要释放一个非堆对象. …

c

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

命令行工具,用于打印某些匹配关键字之间的所有字符

考虑一对关键字:a start-word和a stop-word.是否有任何命令行Linux工具类似于grepawk打印文本文件中a start-word和a 之间的所有行stop-word

例如,一个文本文件:

header
blah-blah
blah
begin-message
message content line 1
message content line 2
end-message
footer
blah-blah
blah

通过start-word将'begin-message' 指定stop-word为'end-message',预期输出应为:

消息内容行1
消息内容行2

编辑:开始 - 停止 - 单词可能包含不能仅以awk正则表达式模式输入的特殊字符,例如' **BEGIN MESSAGE** '开始单词.

linux awk command-line grep text

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