![在 bash 中逐行处理的最快方法是什么?](https://linux22.com/image/43738/%E5%9C%A8%20bash%20%E4%B8%AD%E9%80%90%E8%A1%8C%E5%A4%84%E7%90%86%E7%9A%84%E6%9C%80%E5%BF%AB%E6%96%B9%E6%B3%95%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F%20.png)
可能的重复:
如何循环遍历文件的行?
假设我cat
有一个文件,我想在每一行上运行 bash 命令并将每一行写入作为输出。
如何以最简洁的方式在一行上运行 bash 命令?
cat something | lineBylineInplpace grep -E "spo" > &1
(我忘记了标准描述符符号 = / )
应该将每行的输出与其用于输入的行一起输出到新文件中。
我意识到这与 awk 非常相似。有没有 bash 内置的方法可以使它更快?
答案1
逐行处理文件的正确方法是:
while read -r line; do
echo "$line"
done < /path/to/file.txt
看http://mywiki.wooledge.org/BashFAQ/001
笔记
- 使用
unix pipes
是有成本的,为了速度最好避免