小编Cir*_*四事件的帖子

Colorized grep - 使用突出显示的匹配查看整个文件

我发现它grep--color=always旗帜非常有用.但是,grep只打印带匹配的行(除非您要求上下文行).鉴于它打印的每一行都有一个匹配,突出显示不会增加尽可能多的能力.

我真的很喜欢cat一个文件,看到整个文件突出显示模式匹配.

有什么方法我可以告诉grep打印每一行被读取而不管是否有匹配?我知道我可以编写一个脚本来在文件的每一行上运行grep,但我很好奇这是否可以用标准grep.

bash shell grep colors

486
推荐指数
12
解决办法
19万
查看次数

如何将大文本文件拆分为具有相同行数的较小文件?

我有一个大的(按线数)纯文本文件,我想分成较小的文件,也按行数.因此,如果我的文件有大约2M行,我想将它分成10个包含200k行的文件,或者包含20k行的100个文件(加上一个包含剩余部分的文件;均匀可分的无关紧要).

我可以在Python中相当容易地做到这一点,但我想知道是否有任何一种使用bash和unix utils的忍者方式(而不是手动循环和计数/分区行).

unix bash file

468
推荐指数
11
解决办法
45万
查看次数

如何从Bash脚本中检测操作系统?

我想保留我.bashrc.bash_login文件的版本控制,以便我可以在我使用的所有计算机之间使用它们.问题是,我有一些特定于操作系统的别名,所以我一直在寻找一种方式来确定脚本在Mac OS X,Linux或运行Cygwin的.

Bash脚本中检测操作系统的正确方法是什么?

bash os-detection

463
推荐指数
18
解决办法
26万
查看次数

Docker中"expose"和"publish"有什么区别?

我正在尝试使用Dockerfiles,我想我理解大部分逻辑.但是,我没有看到在这种情况下"暴露"和"发布"端口之间的区别.

我首先看到的所有教程都包含EXPOSEDockerfile中的命令:

...
EXPOSE 8080
...
Run Code Online (Sandbox Code Playgroud)

然后他们从这个Dockerfile构建一个图像:

$ docker build -t an_image - < Dockerfile
Run Code Online (Sandbox Code Playgroud)

然后在运行映像时发布与上面相同的端口:

$ docker run -d -p 8080 an_image
Run Code Online (Sandbox Code Playgroud)

或使用发布所有端口

$ docker run -d -P an_image
Run Code Online (Sandbox Code Playgroud)

暴露Dockerfile中的端口有什么意义,如果它仍然会被发布?是否需要首先公开一个端口,而不是稍后发布它?实际上,我想在创建映像时指定我将在Dockerfile中使用的所有端口,然后再不打扰它们,只需运行它们:

$ docker run -d an_image
Run Code Online (Sandbox Code Playgroud)

这可能吗?

docker

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

如何将其他叉子的未合并上游拉取请求应用到我的fork中?

GitHub上的一个项目,我有一个新的拉动请求,我想要进入我的分支,作者还没有进入.

有没有一种简单的方法可以将其他叉子的拉取请求应用到我的叉子中?这里还有别的东西我不见了吗?

git github pull-request

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

获取std :: vector的迭代器索引的最有效方法是什么?

我正在迭代一个向量,需要迭代器当前指向的索引.AFAIK这可以通过两种方式完成:

  • it - vec.begin()
  • std::distance(vec.begin(), it)

这些方法的优点和缺点是什么?

c++ iterator coding-style

409
推荐指数
6
解决办法
28万
查看次数

如何在Ubuntu Linux中将一个文件附加到另一个文件?

我有两个文件:file1file2.如何追加内容file2file1使内容file1持久化?

linux shell ubuntu file append

406
推荐指数
7
解决办法
45万
查看次数

在不丢失堆栈跟踪的情况下重新使用Java中的异常

在C#中,我可以使用该throw;语句在保留堆栈跟踪的同时重新抛出异常:

try
{
   ...
}
catch (Exception e)
{
   if (e is FooException)
     throw;
}
Run Code Online (Sandbox Code Playgroud)

在Java中有这样的东西(不会丢失原始堆栈跟踪)吗?

java exception

397
推荐指数
8
解决办法
25万
查看次数

如何在bash中填充整数序列以使所有宽度相同?

我需要循环一些值,

for i in $(seq $first $last)
do
    does something here
done
Run Code Online (Sandbox Code Playgroud)

对于$first$last,我需要它是固定长度5.所以如果输入是1,我需要在前面添加零,使它成为00001.它循环直到99999例如,但长度必须是5.

如:00002,00042,00212,012312等等.

关于我如何做到这一点的任何想法?

bash numbers padding

380
推荐指数
10
解决办法
23万
查看次数

如何找到在任何分支中引入字符串的Git提交?

我希望能够找到任何分支中任何提交中引入的某个字符串,我该怎么做?我找到了一些东西(我为Win32修改过),但git whatchanged似乎没有查看不同的分支(忽略py3k块,它只是一个msys/win换行修复)

git whatchanged -- <file> | \
grep "^commit " | \
python -c "exec(\"import sys,msvcrt,os\nmsvcrt.setmode(sys.stdout.fileno(), os.O_BINARY)\nfor l in sys.stdin: print(l.split()[1])\")" | \
xargs -i% git show origin % -- <file>
Run Code Online (Sandbox Code Playgroud)

如果您的解决方案很慢,这并不重要.

git search

367
推荐指数
7
解决办法
8万
查看次数