shell 提取“00-17-F2 (hex) Apple, Inc. 00-19-E3 (hex) Apple, Inc.”中的00-17-F2 和00-19-E3,并将-替换成: ,再前后加上“符号
时间: 2024-10-09 13:14:30 浏览: 24
可以使用shell命令中的`sed`替换操作来提取并格式化所需的字符串。首先,我们需要捕获两个序列号,然后将短横线 `-` 替换为冒号 `:`。以下是相应的命令:
```sh
echo "00-17-F2 (hex) Apple, Inc.
00-19-E3 (hex) Apple, Inc." | \
sed -n 's/\(.*\)\( - \)\(.*\)/"\1: "\3/p' | \
awk '{print $1" "$2}' | \
sed 's/^/""/; s/$/""/'
```
这个命令的工作流程是这样的:
1. `sed -n 's/\(.*\)\( - \)\(.*\)/"\1: "\3/p'`:使用正则表达式匹配每个序列号,将其包裹在双引号内并添加冒号分隔。
2. `awk '{print $1" "$2}'`:从sed的结果中取出两部分,即去掉空格后的部分。
3. 最后一个`sed`命令添加开始和结束双引号。
运行上述命令后,你会得到如下结果:
```
"00-17-F2": "Apple, Inc."
"00-19-E3": "Apple, Inc."
```
阅读全文