bash - 如何使用 sed 从字符串中提取负数
问题描述
我需要从一个文件中提取一个负数到另一个文件,我已经为一个正数做了这个,但我不知道如何为负数做这个。
sed -r 's/.* ([0-9]+\.*[0-9]*).*?/\1/' bob.txt > outfile.txt
bob.txt 内容:
outputVoltage.u900 = Opaque: Float: 27.000000 V
outputVoltage.u900 = Opaque: Float: -27.000000 V
上面的代码非常适合正值而不是负值。
在outfile里面,我想有:
27.000000
-27.000000
解决方案
只打印第五个字段怎么样:
awk '{print $5}' bob.txt
27.000000
-27.000000
或者搜索一个字符串并打印出来:
awk '/outputVoltage/{print $5}' bob.txt
27.000000
-27.000000
推荐阅读
- swift - ForEach 中的 SwiftUI 按钮不会改变 foregroundColor
- python-3.x - Python:Tkinter 聊天应用程序 - 我想在消息周围画气泡
- android - 使用 eclipse 2020-09 创建 android 项目会导致错误的包树
- powershell - Powershell脚本不返回日文字符而是随机数字和字母
- javascript - 通过 Jquery 选择 Jquery HTML 附加数据
- python - 如何使 Tkinter 窗口静止
- javascript - JS 控制台 if...else 中的任何选项
- kotlin - Kotlin:使用 Nullability 注释 Java 库时设置默认值
- javascript - Angular如何防止在下拉列表中手动输入?
- python - Python 中位数的中位数不在 O(n) 中运行