这条 sed 行是如何工作的:
echo lred_6607: broken symbolic link to ./safaribooks/red_6607 |
sed -e 's/^\|: *broken symbolic.*$/"/g'
|
1.上一条命令的输出中没有字符。
^
2.and有什么用$
3.输出如何加一对双引号前缀和后缀
输出 :"lred_6607"
答案1
此sed
行选择字符序列并将其替换为"
。线路中不匹配的部分保持不变。
\|
方法或者,所以它分隔了 2 个正则表达式。
这两个正则表达式匹配的任何字符序列都将替换为"
.
第一个是^
。它与行的开头匹配。如果遇到行首,则将其替换为"
第二个正则表达式是: *broken symbolic.*$
:它表示以:
和 零或任意数量的空格字符 ( *
) 和broken symbolic
字符序列开头的任何字符串,后面跟着.*
表示零或任意数量的任何字符,直到行尾$
。如果遇到则替换为"
.
lred_6607
根本不匹配,所以保持不变。
结果是"lred_6607"