小编Fra*_*ien的帖子

为什么“读取”文件的每一行比“xargs”快得多

我有一个包含 30M 行的大输入文件,在\r\n. 我决定做一些愚蠢的事情,并通过read -r与xargs(剥离第\r一个,因为xargs似乎无法拆分多个字符)比较计算所有行的速度。这是我的两个命令:

time tr -d '\r' < input.txt | xargs -P 1 -d '\n' -I {} echo "{}" | wc -l
Run Code Online (Sandbox Code Playgroud)
time while read -r p || [ -n "$p" ]; do echo "$p"; done < input.txt | wc -l
Run Code Online (Sandbox Code Playgroud)

在这里,第二种解决方案要快得多。这是为什么?

请注意,我知道这不是计算文件行数的正确方法。这个问题只是出于我观察的兴趣。

shell bash xargs

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

标签 统计

bash ×1

shell ×1

xargs ×1