[英]delete a line if a condition occurs using awk or sed
只需要您的幫助。 如果要使用awk或sed發生這種格式,我想刪除一行:
BSC+number BSC+number
例如:
BSC112 BSC112
core tag
red blue
BSC113 BSC114
flu joke
輸出應為:
core tag
red blue
flu joke
預先感謝您的幫助。
單程:
$ sed '/^BSC[0-9]\+\s\+BSC[0-9]\+$/d' file
core tag
red blue
flu joke
您可以將-i
選項與sed
一起使用,以將更改存儲回文件:
$ sed -i '/^BSC[0-9]\+\s\+BSC[0-9]\+$/d' file
您也可以使用grep執行此操作:
grep -v 'BSC[0-9]\+[[:space:]]\+BSC[0-9]\+' infile
輸出:
core tag
red blue
flu joke
其他方式:
perl -lne 'print unless(/BSC\d+\s+BSC\d+/)' your_file
測試:
> cat temp
BSC112 BSC112
core tag
red blue
BSC113 BSC114
flu joke
> perl -lne 'print unless(/BSC\d+\s+BSC\d+/)' temp
core tag
red blue
flu joke
awk'!/ BSC / {print}'輸入>輸出
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.