【发布时间】:2015-10-20 23:31:43
【问题描述】:
我正在尝试在 sh 中执行以下操作。
这是我的文件:
foo
bar
Tests run: 729, Failures: 0, Errors: 253, Skipped: 0
baz
如何将 4 个数字提取到 4 个不同的变量中?我已经在 sed 和 awk 手册页上花费了大约一个小时,并且我正在旋转我的轮子。
【问题讨论】:
-
文件的精确格式是什么?文件中有一个重要的行吗?数字总是按顺序排列的吗?
-
文件将是可变的,但带有测试的行将始终存在;那是重要的行。该行中的数字将始终以该格式存在。
-
使用具有内置正则表达式支持的功能更强大的 shell 而不是
/bin/sh并且需要使用外部工具进行提取会更有效。我的意思是,是的,这可以在纯 POSIX sh 中完成,但是您将在 awk/sed/whatnot 的启动时间受到性能影响。