簡體   English   中英

從輸出命令中提取字符串

[英]Extract string from output command

我的程序輸出如下:

# 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.下的val.int. 所以我想在命令中添加一些內容以獲得以下輸出:

# myprogram list|<something options>
p1
p2
p3
p4
p5

是否可以僅在awk一次調用中使用awk (或類似sed )來執行此操作?

awk 'NF>2 {print $3}' FS=.
  • 將字段分隔符更改為.
  • 打印欄3
myCommand | sed -n 's/val\.int\.//p'

嘗試這個:

awk -F'val.int.' '$0=$2' file

文件包含您的數據:

kent$ awk -F'val.int.' '$0=$2' file
p1
p2
p3
p4
p5

另一個解決方案,涉及grep和Perl正則表達式:

$ myprogram list | grep -Po "(?<=val\.int\.).*"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM