可能的重复:
如何循环遍历文件的行?
假设我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
是有成本的,为了速度最好避免