如何修改Linux命令去除uvscan版本输出中的"version: "以匹配控制文件?
解决方案
完全可行,给你两种简单的实现方法,适配你的需求:
方法一:使用sed替换(推荐,修改灵活)
执行以下命令即可直接得到匹配控制文件的格式:
/usr/local/bin/uvscan --version | grep 'Dat set' | sed 's/version: //; s/set/Set/'
命令解释:
sed 's/version: //':把输出里的"version: "字符串替换为空,移除多余内容s/set/Set/:把小写的"set"替换成大写的"Set",和控制文件的Dat Set 10349格式完全对齐
方法二:使用awk提取指定字段
如果更习惯直接提取内容,也可以用awk:
/usr/local/bin/uvscan --version | grep 'Dat set' | awk '{print $1, "Set", $4}'
命令解释:
$1对应输出里的第一个字段Dat- 手动指定
Set来替换原输出里的set和version: $4对应输出里的第四个字段10349- 三个部分拼接后就是
Dat Set 10349
另外注意:你原来的命令里cut -d ' ' | -f1-4有语法错误,正确写法是cut -d ' ' -f1-4,不过上面的两种方法已经不需要用到cut了。
内容的提问来源于stack exchange,提问作者AngelOfChaos
相关产品推荐
相关产品推荐

