从文本中取一段内容
时间:2008-12-03 来源:deathkiss
文本内容:
type {
sfjslkfjslfjslf
lsjflsfjslfjs
sljfslfjslf
}aa type {
sfkhsfkshf
141414lsjflsfjmb
s474ljfslfjslfm54
}bb type {
098dgs
vnxvsb
zczgmvs
}cc type {
blddgdlgj
d;gkdgkd
lkdjgld
}bb
要求:
现从文本a.txt中取出 type{...}bb的内容
结果:
type {
sfkhsfkshf
141414lsjflsfjmb
s474ljfslfjslfm54
}bb type {
blddgdlgj
d;gkdgkd
lkdjgld
}bb
脚本:
awk -v RS="" '/}bb/' file
解释:
RS=""时,type {分别是同一个记录的一个字段,因为中间有个空格。
默认FS是空格,分割字段使用[ \t\n]+。RS=""时,FS变为[[FS]\n]+。RS=""时,即使设置FS为其它字符,\n也作为字段分隔符之一。
RS=""时,不管FS怎么设置的,都会用\n作为字段分隔符之一。
-v RS=""就是:BEGIN {RS=""}
type {
sfjslkfjslfjslf
lsjflsfjslfjs
sljfslfjslf
}aa type {
sfkhsfkshf
141414lsjflsfjmb
s474ljfslfjslfm54
}bb type {
098dgs
vnxvsb
zczgmvs
}cc type {
blddgdlgj
d;gkdgkd
lkdjgld
}bb
要求:
现从文本a.txt中取出 type{...}bb的内容
结果:
type {
sfkhsfkshf
141414lsjflsfjmb
s474ljfslfjslfm54
}bb type {
blddgdlgj
d;gkdgkd
lkdjgld
}bb
脚本:
awk -v RS="" '/}bb/' file
解释:
RS=""时,type {分别是同一个记录的一个字段,因为中间有个空格。
默认FS是空格,分割字段使用[ \t\n]+。RS=""时,FS变为[[FS]\n]+。RS=""时,即使设置FS为其它字符,\n也作为字段分隔符之一。
RS=""时,不管FS怎么设置的,都会用\n作为字段分隔符之一。
-v RS=""就是:BEGIN {RS=""}
相关阅读 更多 +