sed提取提定标记间的段落
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/08/23 03:29:55
sed提取提定标记间的段落
文本如下:
#
a
b
c
#
#
c
d
e
#
#
f
g
h
#
用sed -n '/#/,/#/p'可以输出:
#
a
b
c
#
问:怎么可以输出下面两个#之间的段落.
文本如下:
#
a
b
c
#
#
c
d
e
#
#
f
g
h
#
用sed -n '/#/,/#/p'可以输出:
#
a
b
c
#
问:怎么可以输出下面两个#之间的段落.
sed -n '/#/{N;:1;/#\n\(.*\n\)*#/{p;b};N;b1}' file
再问: 有此复杂,大侠能解释下吗?
再答: -n
不输出任何行
/#/
当行是#,N;读取下一行,:1创建一个标签,名字为1(此时无动作)。再判断,如果模式空间内容满足【#a回车b回车c回车...#】(abc等为任意字符),p输出,并b结束脚本命令。读取下一行文件内容。
如果行不满足上面的内容,那N;读取下一行,转到标签b1位置。
再进行判断,如果还不满足【#a回车b回车c回车...#】,再读取下一行,直到读取到#,打印输出结束。--------------------------------------------------------------------我又想出一个优化后的命令:原来命令:sed -n '/#/{N;:1;/#\n\(.*\n\)*#/{p;b};N;b1}' file更简命令:
sed -n '/#/{:1;N;/#[^#]*#/{p;b};b1}' file这个思路跟上面的一样。优化的是:通过调换标签位置,将上面的两个N变成了下面的一个N。正则表达式:[^#]表示为除了#的任意字符,包含了换行。
再问: 有此复杂,大侠能解释下吗?
再答: -n
不输出任何行
/#/
当行是#,N;读取下一行,:1创建一个标签,名字为1(此时无动作)。再判断,如果模式空间内容满足【#a回车b回车c回车...#】(abc等为任意字符),p输出,并b结束脚本命令。读取下一行文件内容。
如果行不满足上面的内容,那N;读取下一行,转到标签b1位置。
再进行判断,如果还不满足【#a回车b回车c回车...#】,再读取下一行,直到读取到#,打印输出结束。--------------------------------------------------------------------我又想出一个优化后的命令:原来命令:sed -n '/#/{N;:1;/#\n\(.*\n\)*#/{p;b};N;b1}' file更简命令:
sed -n '/#/{:1;N;/#[^#]*#/{p;b};b1}' file这个思路跟上面的一样。优化的是:通过调换标签位置,将上面的两个N变成了下面的一个N。正则表达式:[^#]表示为除了#的任意字符,包含了换行。
linux中怎么用sed提取里面的China
word删除段落标记,如下图所示,段落文字中间标记个数不定,怎么把无用的段落标记删除,而不影响段落布局
在word2000文档中,每个段落都有自己的段落标记,段落标记的位置在 A段落的起始位置 B段落的尾部
shell的sed用法
linux sed 的用法
linux里面的sed命令
高分虚心求教编辑一个脚本,使用sed提取指定行中匹配的内容,并按照指定格式输出文本.
word中每一行的文字不在中间,段落标记有的在字的左下角等!
关于linux的sed命令的几个问题
word中如何在正文的每个标点后插入一段落标记.
start与sed up的区别是什么
读音为「sed」的英语单词,