小编Sud*_*dar的帖子

在非常大的文件的开头添加两行的有效方法

我有一组非常大(每个GB几个)的文本文件.我需要在每个文件的开头添加两行.

我尝试使用以下命令使用sed

sed -i '1iFirstLine'
sed -i '2iSecondLine'
Run Code Online (Sandbox Code Playgroud)

sed的问题在于它循环遍历整个文件,即使必须在开头只添加两行,因此需要花费大量时间.

有没有另一种方法可以更有效地执行此操作,而无需读取整个文件?

unix command-line sed text-files

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

关联数组在 awk 中如何工作?

我想从基于列的文件中删除重复行。快速搜索让我找到了这个页面,其中有以下解决方案:

awk '!x[$1]++' filename
Run Code Online (Sandbox Code Playgroud)

它有效,但我不确定它是如何工作的。我知道它使用关联数组,awk但我无法推断出除它之外的任何内容。

更新

谢谢大家的解释。根据我的新知识,我写了一篇博客文章,进一步解释了它的工作原理。

awk

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

将 3 维 numpy 数组拆分为 3x3 网格

我有一个 3 维 numpy 数组。我想把它分成 3x3 的网格。numpy 中有没有可以做到的功能?

假设我有以下形状为 (9, 9, 3) 的 3 维数组

array([[[  0,   1,   2],
        [  3,   4,   5],
        [  6,   7,   8],
        [  9,  10,  11],
        [ 12,  13,  14],
        [ 15,  16,  17],
        [ 18,  19,  20],
        [ 21,  22,  23],
        [ 24,  25,  26]],

       [[ 27,  28,  29],
        [ 30,  31,  32],
        [ 33,  34,  35],
        [ 36,  37,  38],
        [ 39,  40,  41],
        [ 42,  43,  44],
        [ 45,  46,  47],
        [ …
Run Code Online (Sandbox Code Playgroud)

python arrays numpy multidimensional-array

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

查明 PHP 是否内存不足

是否可以(以编程方式)找出当前 PHP 进程是否即将耗尽内存?

一些背景

我是批量删除 WordPress 插件的作者,该插件允许人们批量删除帖子、用户等。

我从插件用户那里得到的一个常见抱怨是,他们在尝试删除大量帖子时得到一个空白页面。发生这种情况是因为 PHP 内存不足。

如果我能发现PHP进程即将耗尽内存,那么我可以尝试批量删除或者至少给用户一个警告,而不是仅仅抛出一个空白页面。

php memory-management out-of-memory

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

如何在 vim 中为复合文件类型命名 ftplugin 文件名?

我在 vim 中有一个名为 的复合文件类型php.wordpress,它将 WordPress 相关更改应用于 PHP 文件类型。

我现在想对文件夹php.wordpress下的文件进行特定更改ftplugin。对于普通文件类型,文件名是filetype.vim,但对于复合文件类型,文件名格式应该是什么?应该命名吗php.wordpress.vim

我查看了:help filetype但找不到任何与复合文件类型相关的文档。

vim file-type macvim

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

在Mac上通过网络访问postgresql服务器

我在Mac上安装了Postgres App并运行了一个数据库.

我可以使用命令从终端连接它 psql -h localhost

现在我想从同一网络上的另一台机器访问此服务器.

当我psql -h <hostname> -U <username>从另一台机器上做的时候,我得到了错误

psql: could not connect to server: Connection refused
    Is the server running on host "my hostname" (xx.xx.xx.xxx) and accepting
    TCP/IP connections on port 5432?
Run Code Online (Sandbox Code Playgroud)

在我运行服务器的机器中,lsof -i | grep LISTEN我得到以下结果.

postgres  3196 sudarm    5u  IPv6 0x1caf6120      0t0  TCP localhost:5432 (LISTEN)
postgres  3196 sudarm    6u  IPv4 0x14678db0      0t0  TCP localhost:5432 (LISTEN)
postgres  3196 sudarm    7u  IPv6 0x1caf6a80      0t0  TCP localhost:5432 (LISTEN)
Run Code Online (Sandbox Code Playgroud)

我是否还需要做其他事情才能从另一台机器连接到服务器?

postgresql macos

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

用HTML标记替换字符串中的引号

我在PHP中的变量中存储了以下字符串.

The words inside the quotes should be in '''bold'''. Like '''this''' and '''that'''
Run Code Online (Sandbox Code Playgroud)

这里三重引号'''用于表示该单词应以粗体显示.

<strong>标签替换它的最有效方法是什么?

php string

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

如何检查是否设置了环境变量?

我在perl中有以下代码

my %Opt = 
  (
   boards_txt => "$ENV{'ARDUINO_DIR'}/hardware/arduino/boards.txt",
  );
Run Code Online (Sandbox Code Playgroud)

在这里你可以看到env变量ARDUINO_DIR是追加的.某些用户可能没有设置此变量.如果是这种情况,那么我想硬编码路径.

问题:如何检查是否设置了env变量?

string perl environment-variables

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

如果上一个命令没有返回任何内容,请不要调用xargs

我有以下命令检查是否添加了任何新文件并自动调用svn add所有这些文件

svn status | grep -v "^.[ \t]*\..*" | grep "^?" | awk '{print $2}' | xargs svn add
Run Code Online (Sandbox Code Playgroud)

但是当没有文件时,svn add会产生警告.

如何停止xargs调用上一个命令不会导致任何值?该解决方案需要与GNU和BSD(Mac OS X)版本一起使用xargs.

shell xargs

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

自定义 phpcs 规则集不遵守排除模式声明

我有一个自定义的 phpcs 规则集文件,我在其中包含了几个规则集,并且还从某些目录(如测试或供应商)中排除了文件。

完整的 phpcs.xml 配置文件位于https://github.com/sudar/bulk-move/blob/master/phpcs.xml下面我提到了一些有趣的部分

<file>./</file>

<!-- Exclude test directories -->
<exclude-pattern>tests/*</exclude-pattern>

<!-- PHP Compatibility -->
<config name="testVersion" value="5.2-"/>
<rule ref="PHPCompatibility">
</rule>
Run Code Online (Sandbox Code Playgroud)

现在,当我phpcs从项目的根目录运行命令时,它从测试目录中排除了文件,并仅在其他文件上运行 phpcs。

在 PhpStorm 中,我在配置 phpcs 时选择了这个 phpcs.xml 文件作为自定义编码标准。但是当我从测试目录(被排除在外)编辑文件时,PhpStorm 仍然使用自定义编码标准调用 phpcs 并显示警告。

所以我的问题是如何告诉 PhpStorm 排除在 phpcs.xml 规则集文件中排除的文件?

php phpstorm phpcs

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