谈一谈Linux中关于Sed命令标签的用法
更多sed特殊用法,请参考:
浅谈Linux三剑客sed命令篇三,补充一些sed特殊用法
Sed命令标签的用法
标签:
Sed使用()定义替换模式中的部分字符,标签方便在后面引用。
注意:
每行指令最多使用9个。
案例分析:
案例1
sed -r 's/(^[[:alnum:]]+)(.*)/1/' /etc/passwd
简单解释:
结果:
打印文件的第一列。
1、(^[[:alnum:]]+)拆分:
():标签1。
^:以什么开头。
[[:alnum:]]:匹配当前归类中的数字、大写和小写字母字符。
例如,[[:alnum:]]+:匹配含有一个或多个字母和数字的字符串。
总结:
(^[[:alnum:]]+)表示:匹配以一个或多个字母和数字的字符串开头,作为第一个标签
2、 (.*)拆分
():标签2。
.:匹配任何单个字符。
*:匹配 0 次或多次。
总结:
(.*):匹配任意多个字符,即除去文件第一列的所有字符。
3、 1
1表示第一个标签(同理2 3......)
sed -r 's/(^[[:alnum:]]+)(.*)/2/' /etc/passwd
这里就是获取文件除去第一列的内容
这一句指令大家值得好好品味。
不知道我有没有说清楚,欢迎留言。
欢迎大家给予宝贵的意见或者建议。
欢迎大家补充或者共享一些其他的方法。
感谢支持。