问题标签 [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.
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 -w
⇒ 79□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 -w
⇒ 79
7. cat test_input_2 | wc -wc
⇒□□□□□79□□□□□581
有谁知道 wc 如何格式化其输出?任何帮助表示赞赏,非常感谢。
linux - 试图在 perl 中计算一行中的字符并失败
一开始我只是简单地用下面的方法来计算每一行的长度:
但是当我将得到的结果与linux命令WC产生的结果进行比较时,我发现了一个问题:我文件中的所有制表符1 character
在perl中都被视为长度,而它是8
for wc
,所以我做了以下修改:
对于上面的代码,它现在适用于所有大多数情况,除了一个,wc
不是所有的选项卡都被计算在内,但只有一个没有被某些字符占用的选项卡,例如,如果在一行的开头,我输入1234
然后按一个选项卡,wc
它不算作一个选项卡,但上面的代码算了,有什么方法可以解决这个问题吗?谢谢
解决了,使用了tab扩展,代码如下:
如果有人能给它一个解释,那就太棒了,我测试它可以工作,但不太明白。无论如何,感谢所有的帮助
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>
呢?
有谁知道我在写入这个文件时做错了什么?
bash - wc 的结果作为变量
我想使用来自“wc”的行作为变量。例如:
我想有类似$lines
,$words
并$characters
与值2
,5
和相关联的东西23
。我怎么能在 bash 中做到这一点?
bash - 如果在反引号中执行,为什么 wc -l 的输出会有所不同?
我刚刚遇到直接调用或用反引号括起来时 wc -l 的输出不同。例如:
将输出 1,因为有一个 bash 进程正在运行。但是将此命令括在反引号中
会输出 2。我首先想到的是,反引号会打开一个新的 bash 进程,但是
只找到与上述相同的一个过程。将命令包含在 $() 中时也是如此:
这也将输出 2。有人知道为什么会这样吗?
linux - BASH,而文件中的行号小于 x
我想创建一个读取一些文件的循环,并且我希望它在 wc 输出小于 5 时停止,在这种情况下,文件“文件”包含将要处理的文件的名称
这部分不起作用
linux - 如何比较 3 个文件(以查看它们之间的共同点)?
我想将 3 个文件一起比较,看看文件中的信息有多少是相同的。文件格式是这样的:
我只对前两列感兴趣(如果前两列相同,那么我认为它是相等的)。这是我用来比较两个文件的命令:
我想使用 awk 命令,因为我的文件非常大,而且 awk 处理它们非常好!但我不知道如何将它用于 3 个文件!
c++ - 我如何告诉 wc 停止阅读?
我有一个程序,它fork()
是一个新进程,然后stdin
用我的文件描述符管道覆盖那个新进程fd
。在这个过程中,我然后使用execvp()
执行wc
它应该从父级读取它的输入。在父级中,然后我写入管道的写入端,完成写入后,关闭管道。
问题是wc
仍然期待输入并且des没有退出。
通常,我可以wc
通过键入来停止,CTRLD但我似乎无法在 C/C++ 中发送该信号。
我如何告诉wc
停止阅读?
编辑:我确实遵循了 pipe/fork/dup/exec 习惯用法(我认为这就是所谓的。)
流式处理与其他需要输入的程序一起工作,只是wc
需要特殊EOF
才能停止阅读。
对不起,如果代码看起来有点脱节。我不得不从文件周围把它拉到一起。
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}'
然后将其合并为单行
我可以以某种方式实现只计算非空行吗?