问题标签 [wc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
13873 浏览

linux - linux命令wc输出格式

我需要写一个wc完全模仿linux命令的perl(包括尤其是输出格式),在实现功能的同时,输出wc真的很头疼,似乎一直在变化,以下是几个例子(我将使用 □ 表示空格字符)
1. wc test_input_1□□705673□□4234032□26754553□test_input_1
2. wc test_input_2□14□□79□581□test_input_2
3. wc test_input_2 -w79□test_input_2
4. wc test_input_2 -wc□79□581□test_input_2
5. cat test_input_2 | wc□□□□□14□□□□□□79□□□□□581
6. cat test_input_2 | wc -w79
7. cat test_input_2 | wc -wc□□□□□79□□□□□581

有谁知道 wc 如何格式化其输出?任何帮助表示赞赏,非常感谢。

0 投票
3 回答
278 浏览

linux - 试图在 perl 中计算一行中的字符并失败

一开始我只是简单地用下面的方法来计算每一行的长度:

但是当我将得到的结果与linux命令WC产生的结果进行比较时,我发现了一个问题:我文件中的所有制表符1 character在perl中都被视为长度,而它是8for wc,所以我做了以下修改:

对于上面的代码,它现在适用于所有大多数情况,除了一个,wc不是所有的选项卡都被计算在内,但只有一个没有被某些字符占用的选项卡,例如,如果在一行的开头,我输入1234然后按一个选项卡,wc它不算作一个选项卡,但上面的代码算了,有什么方法可以解决这个问题吗?谢谢

解决了,使用了tab扩展,代码如下:

如果有人能给它一个解释,那就太棒了,我测试它可以工作,但不太明白。无论如何,感谢所有的帮助

0 投票
6 回答
23582 浏览

c# - 如何快速计算行数?

我尝试了 unxutils 'wc -l但它因 1GB 文件而崩溃。我试过这个 C# 代码

它在 4 秒内读取一个 500MB 的文件

10 秒内读取

耗时 7 秒

我还没有尝试过更快的方法吗?

0 投票
1 回答
244 浏览

c - C 程序的文件输出在计算行数时表现异常

我正在使用 C 来解析一个大的平面文件并将相关行输出到一个输出文件中。输出文件应该是大约 70,000 行。

如果我在 gedit 中打开文件,它会完全按照预期显示,并具有正确的行数和行长。

但是,运行wc -l <file>返回 13,156。也是如此grep -c "" <file>

tail <file>返回我在 gedit 中看到的最后 10 行。head <file>返回前 10 行。但是tail -n +8000 | head -n 1,应该返回第 8,000 行,返回我在 gedit 中的第 34,804 行看到的文本。

如果我在文件中缺少换行符,我会期待这些结果。但是gedit似乎没有问题。此外,wc -L <file>显示最大行长度的 ,按预期返回 142 个字节。正如预期的那样,该文件的大小略高于 9,000,000 字节。

如果wc -L <file>=142,又wc -c <file>=9046609,那么怎么可能=13156wc -l <file>呢?

有谁知道我在写入这个文件时做错了什么?

0 投票
7 回答
65957 浏览

bash - wc 的结果作为变量

我想使用来自“wc”的行作为变量。例如:

我想有类似$lines,$words$characters与值2,5和相关联的东西23。我怎么能在 bash 中做到这一点?

0 投票
2 回答
590 浏览

bash - 如果在反引号中执行,为什么 wc -l 的输出会有所不同?

我刚刚遇到直接调用或用反引号括起来时 wc -l 的输出不同。例如:

将输出 1,因为有一个 bash 进程正在运行。但是将此命令括在反引号中

会输出 2。我首先想到的是,反引号会打开一个新的 bash 进程,但是

只找到与上述相同的一个过程。将命令包含在 $() 中时也是如此:

这也将输出 2。有人知道为什么会这样吗?

0 投票
2 回答
1711 浏览

linux - BASH,而文件中的行号小于 x

我想创建一个读取一些文件的循环,并且我希望它在 wc 输出小于 5 时停止,在这种情况下,文件“文件”包含将要处理的文件的名称

这部分不起作用

0 投票
4 回答
5463 浏览

linux - 如何比较 3 个文件(以查看它们之间的共同点)?

我想将 3 个文件一起比较,看看文件中的信息有多少是相同的。文件格式是这样的:

我只对前两列感兴趣(如果前两列相同,那么我认为它是相等的)。这是我用来比较两个文件的命令:

我想使用 awk 命令,因为我的文件非常大,而且 awk 处理它们非常好!但我不知道如何将它用于 3 个文件!

0 投票
1 回答
1289 浏览

c++ - 我如何告诉 wc 停止阅读?

我有一个程序,它fork()是一个新进程,然后stdin用我的文件描述符管道覆盖那个新进程fd。在这个过程中,我然后使用execvp()执行wc它应该从父级读取它的输入。在父级中,然后我写入管道的写入端,完成写入后,关闭管道。

问题是wc仍然期待输入并且des没有退出。
通常,我可以wc通过键入来停止,CTRLD但我似乎无法在 C/C++ 中发送该信号。

我如何告诉wc停止阅读?

编辑:我确实遵循了 pipe/fork/dup/exec 习惯用法(我认为这就是所谓的。)
流式处理与其他需要输入的程序一起工作,只是wc需要特殊EOF才能停止阅读。

对不起,如果代码看起来有点脱节。我不得不从文件周围把它拉到一起。

0 投票
4 回答
6969 浏览

bash - Bash:查找具有最大行数的文件

这是我的尝试

  • 查找所有*.java文件
    find . -name '*.java'
  • 计数线
    wc -l
  • 删除最后一行
    sed '$d'
  • wc使用 AWK 查找输出中的最大行数
    awk 'max=="" || data=="" || $1 > max {max=$1 ; data=$2} END{ print max " " data}'

然后将其合并为单行

我可以以某种方式实现只计算非空行吗?