我有一个可执行文件,它可以向终端生成以下内容:
---Start---
Some text
More text
-1.
1.
0.39
10
-199
some more text
Complete
---End---
我只想将终端中的数值写入文件。目前,我正在使用
./executable 2>&1 | grep -vE 'S|M|s|^[--]|^[ ]' | tee log.txt
这似乎满足了我的要求。具体来说,通过使用 -v,我明确说明了要排除的内容。但是,这似乎效率很低,因为我必须添加整个字母表(大写和小写)才能确保只有数值添加到 log.txt 文件中。
有没有更好的方法将所有数值(正数和负数)写入一个文件?
答案1
您只需排除包含文本的行即可。在命令中使用以下 grep:
grep -v '[A-Za-z]'