小编jam*_*san的帖子

如何从.gz压缩文件中获取几行而不解压缩

如何从gziped文件中获取前几行?我试过zcat,但它抛出一个错误

zcat CONN.20111109.0057.gz|head
CONN.20111109.0057.gz.Z: A file or directory in the path name does not exist.
Run Code Online (Sandbox Code Playgroud)

gzip zcat gunzip

82
推荐指数
3
解决办法
8万
查看次数

git:以编程方式知道分支在远程分支前后的位置

我想提取a之后打印的信息,git status如下所示:

# On branch master
# Your branch is ahead of 'origin/master' by 2 commits.
Run Code Online (Sandbox Code Playgroud)

当然我可以解析输出,git status但不建议这样做,因为这个人类可读输出容易改变.

有两个问题:

  1. 如何知道远程跟踪分支?通常origin/branch但不一定是这样.
  2. 如何获得数字?如何知道它是先行/落后?提交了多少次?分歧案例怎么样?

git git-status

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

在vim中更改语法颜色?

我有语法高亮,但注释设置为深蓝色.这对我来说很难在黑色终端上阅读.如何更改它以使注释变为绿色?

vim syntax-highlighting colors

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

Thrift vs Protocol缓冲区

我已经使用PB很长一段时间了,但是,Thrift一直在我的脑海里.

正如我所看到的那样,节俭的主要优点是:

  1. 本地集合(即向量,集等)与PB重复提供类似但不完全相似的功能(除非你深入研究文档声明"在大多数情况下不需要"的RepeatedField),否则没有迭代器.
  2. 提供了一个不错的RPC实现,而不是只是挂钩插入自己的.
  3. 更多官方支持的语言(PB为Java,C++,Python提供"官方"支持)

Thrift的缺点:

  1. RPC实现意味着我无法在顶部插入我自己的(例如)加密/认证层.
  2. Windows支持看起来不是很好.
  3. PB肯定似乎有更容易获得的文档,如果不是更好的话.

中性:

  • Windows(Thrift)上.lib/.dll的未知大小.
  • Windows上大尺寸的.lib(PB,但确实提供了明显更小的-lite).
  • 速度明智,他们似乎都很相似.

我还没有准备好冒险尝试切换到Thrift,有人可以给我更多的优点/缺点,或者有理由去某种方式吗?

谢谢!

c++ windows thrift protocol-buffers

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

Golang确定*File是否指向文件或目录

有没有办法确定我的*文件是指向文件还是目录?

fileOrDir, err := os.Open(name)
// How do I know whether I have a file or directory?
Run Code Online (Sandbox Code Playgroud)

我希望能够读取有关该文件的统计信息(如果它只是一个文件),并且能够读取目录中的文件(如果它是一个目录)

fileOrDir.Readdirnames(0) // If dir
os.Stat(name) // If file
Run Code Online (Sandbox Code Playgroud)

file go

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

如何让系统调用write()打印到屏幕上?

对于我的OS类,我应该只使用系统调用来实现Linux的cat(没有printf)

阅读此参考,我发现它被用于打印到文件.我想我应该操纵游戏.

在示例中出现: ofstream outfile ("new.txt",ofstream::binary);

如何将其写入屏幕?

编辑:我意识到这个write()是iostream库的一部分,这是否与int write(int fd,char*buf,int size)系统调用相同?

c linux system-calls

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

在哪里放置__attribute __((对齐))与typedef:ed struct?

我在google上搜索了gcc的信息,__attribute__ ((aligned))以了解有关如何使用该属性的更多信息.

根据GNU"您可以在typedef声明中指定aligned和transparent_union属性,或者只是通过完整枚举的结束大括号,结构或联合类型定义以及仅在定义的右大括号之后的packed属性." 此外,该文档还显示了以下示例:

struct S { short f[3]; } __attribute__ ((aligned (8)));
Run Code Online (Sandbox Code Playgroud)

但我发现"typedef struct"的例子很少.我找到了以下两个:

typedef struct __attribute__ ((aligned)) { char a; int x; } foo;
typedef struct { char a; int x; } __attribute__ ((aligned)) foo;
Run Code Online (Sandbox Code Playgroud)

哪个是首选方法:在struct之前的{属性}和之前的属性,或foo 之后和之前的属性?

他们都提供相同的结果吗?

关于使用__attribute__ ((aligned))typedef:ed结构的正确用法,我将非常感谢.

gcc

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

如何让vim语法突出显示整行?

我想让vim突出显示符合某些模式的整行.我可以在一行中获取所有文本以突出显示(通过执行syn match MyMatch "^.*text-to-match.*$"),但它始终在文本末尾停止.我想继续这个术语的结尾,就像突出显示CursorLine一样.

我试过用$a 代替\n^,希望能把它包起来.没变.(我实际上并不认为这会起作用,但尝试没有任何害处.)我也尝试调整syn-pattern-offset(我在这里读到:http://vimdoc.sourceforge.net/htmldoc/syntax. html#:syn-pattern).长话短说,添加he=he-5将突出显示5个字符,但he=he+5不显示任何额外字符,因为没有要突出显示的字符.

这是我第一次尝试制作vim语法,而且我对vim相对较新.请保持温和,并附上解释.

谢谢!

(编辑:忘了包含,这是一个多行高亮.这可能会增加一点复杂性.)

syntax vim syntax-highlighting highlighting line

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

如何从python中的字符串中删除此\ xa0?

我有以下字符串:

 word = u'Buffalo,\xa0IL\xa060625'
Run Code Online (Sandbox Code Playgroud)

我不希望那里有"\ xa0".我怎么能摆脱它?我想要的字符串是:

word = 'Buffalo, IL 06025
Run Code Online (Sandbox Code Playgroud)

python unicode

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

有没有办法在vim中保存文件后静默运行bash命令?

现在我每次保存时都使用以下命令编译coffeescript文件:

au BufWritePost widget.coffee ! ./compile_widget.sh
Run Code Online (Sandbox Code Playgroud)

但是每次我保存时我都会问以下问题:

Press ENTER or type command to continue
Run Code Online (Sandbox Code Playgroud)

有什么方法可以保存而不必按Enter继续吗?

vim

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