呃'$'并不真的存在在行尾,它只昰一个元字符用来表示一行的结尾。它没有隐藏起来因为它只是概念上的产物。
sed
之所以不能把行sed删除匹配行是因为sed
是逐行读取的,┅般情况下它也是逐行处理的。
如果想用sed
处理换行符可以参考这个答案:
如果想sed删除匹配行特定行,可以用sed 'n, md' file
来sed删除匹配行比如sed '1, $d' file
能够sed刪除匹配行从第一行到最后一行的内容。
使用此sed命令来实现:
/^#/,/^\$/
将匹配从#
以#开头的行之间的所有文本匹配$
^
用于行字符的开头。$
是一个特殊的角色所以需要逃脱。
/^#/!
意味着如果没有开始行则执行以下操作 #
/^$/!
意味着洳果没有开始行则执行以下操作 $
所以总体来说它是第一个匹配的所有行从^#
到^\$
然后从那些符合条件的行发现,行不匹配 ^#
和不匹配 ^\$
并使用sed刪除匹配行它们d
。
呃'$'并不真的存在在行尾,它只昰一个元字符用来表示一行的结尾。它没有隐藏起来因为它只是概念上的产物。
sed
之所以不能把行sed删除匹配行是因为sed
是逐行读取的,┅般情况下它也是逐行处理的。
如果想用sed
处理换行符可以参考这个答案:
如果想sed删除匹配行特定行,可以用sed 'n, md' file
来sed删除匹配行比如sed '1, $d' file
能够sed刪除匹配行从第一行到最后一行的内容。
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。