是否可以将写入标准输出的每个字符串传递给另一个命令?
// file example.js
#!/usr/bin/env node
process.stdout.write('foo')
process.stdout.write('bar')
当我运行./example.js | wc -m
时,我得到6,foo
和bar
的字符长度值。
我想分别获得值3和3。我必须在我的javascript文件中做一些特别的事情吗?还是命令?
答案 0 :(得分:0)
wc -m 计算其输入中的字符数。您不能将其分开/逐行(或任何其他分组)。这与您的JS代码无关。
如果您想通过其他方式获得计数类型,那么对节点来说实际上并不太难!
答案 1 :(得分:0)
由于您提到您的内容可能是一个包含空格和文件的文件。假设您需要每个文件的字符数
//example.js
#!/usr/bin/env node
process.stdout.write('foo')
process.stdout.write('~') // print any delimiter which is not part of your files content
process.stdout.write('bar')
//Split them using awk and count it as usual
./example.js | awk 'BEGIN { RS="~" } {print}' | wc -m
3
3
//or just using awk by removing spaces
./example.js | awk 'BEGIN { RS="~" } {gsub(" ", "", $0); print length}'
希望这有帮助