小编Pag*_*gas的帖子

有sed忽略不匹配的行

如何sed根据某个表达式创建过滤器匹配行,但忽略不匹配的行,而不是让它们打印?

作为一个真实的例子,我想scalac在一组文件上运行(Scala编译器),并从其-verbose输出中读取.class创建的文件.scalac -verbose输出一堆消息,但我们只对表单中的消息感兴趣[wrote some-class-name.class].我目前正在做的是这个(|&是bash 4.0将stderr传递给下一个程序的方法):

$ scalac -verbose some-file.scala ... |& sed 's/^\[wrote \(.*\.class\)\]$/\1/'
Run Code Online (Sandbox Code Playgroud)

这将从我们感兴趣的消息中提取文件名,但也会让所有其他消息保持不变!当然我们可以这样做:

$ scalac -verbose some-file.scala ... |& grep '^\[wrote .*\.class\]$' |
  sed 's/^\[wrote \(.*\.class\)\]$/\1/'
Run Code Online (Sandbox Code Playgroud)

哪个有效,但看起来非常像绕过真正的问题,这是如何指示sed从输入中忽略不匹配的行.那我们该怎么做呢?

sed

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

如何在C中构造#includes

假设我有一个C程序,它被破坏为一组*.c和*.h文件.如果一个文件中的代码使用另一个文件中的函数,那么我应该在哪里包含头文件?在使用该函数的*.c文件中,或在该文件的标题内?

例如文件foo.c包含foo.h,其中包含所有声明foo.c; 同样的bar.cbar.h.调用foo1()内部的函数,在其中声明和定义.现在的问题是,我应该包括内部还是内部?foo.cbar1()bar.hbar.cbar.hfoo.hfoo.c

对于这些问题,一套好的经验法则是什么?

c header include

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

在C中定义const值

我有一个C项目,其中所有代码都组织在*.c/ *.h文件对中,我需要在一个文件中定义一个常量值,但也可以在其他文件中使用.我该如何声明和定义这个值?

它应该static const ...*.h文件中吗?如extern const ...*.h文件中并在*.c文件中定义?以何种方式,没关系吧的价值是不是原始数据类型(int,double,等),但char *还是struct?(虽然在我的情况下是一个double.)

*.h文件中定义内容通常不是一个好主意; 一个人应该在*.h文件中声明事物,但在*.c文件中定义它们.但是,这种extern const ...方法似乎效率低下,因为编译器无法内联该值,而是必须始终通过其地址进行访问.

我想这个问题的实质是:是否应该在C static const ...中的*.h文件中定义值,以便在更多的位置使用它们?

c const constants code-organization header-files

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

Windows NT ACL如何工作?

Windows NT(特别是XP,Vista和Server 2008)ACL(访问控制列表)如何工作?它们的基本理念是什么,即ACL中存储的概念,以及如何根据存储的信息评估访问权限?

用于管理它们的基本命令行和其他实用程序是什么?

也许还包括答案中相关文档或教程的链接!

PS.也许我应该在Serverfault中问这个?

windows acl

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

标签 统计

c ×2

acl ×1

code-organization ×1

const ×1

constants ×1

header ×1

header-files ×1

include ×1

sed ×1

windows ×1