我的程序输出如下:
# myprogram list
val
val.dev
val.int
val.int.p1
val.int.p2
val.int.p3
val.int.p4
val.int.p5
val.dev.p6
我想从上面的输出中只提取val.int.
下的字符串,所以我想在命令中添加一些内容以获得以下输出:
# myprogram list|<something options>
p1
p2
p3
p4
p5
是否可以在awk
的一次调用中使用sed
(或类似awk
之类的内容)进行此操作?
答案 0 :(得分:2)
awk 'NF>2 {print $3}' FS=.
.
答案 1 :(得分:2)
myCommand | sed -n 's/val\.int\.//p'
答案 2 :(得分:1)
试试这个:
awk -F'val.int.' '$0=$2' file
文件包含您的数据:
kent$ awk -F'val.int.' '$0=$2' file
p1
p2
p3
p4
p5
答案 3 :(得分:1)
又一个解决方案,这个涉及grep
和Perl正则表达式:
$ myprogram list | grep -Po "(?<=val\.int\.).*"