sed 替换echo "ABC5678"|\sed 's/.*\([^\(\)]*\).*/\1/'结果为 ABCecho "abc5678"|\sed 's/.*\([^\(\)]*\).*/\1/'结果就是abc5678了,请问改成小写有什么区别吗?我想获取和第一个之间的字符串,
来源:学生作业帮助网 编辑:作业帮 时间:2024/08/14 05:17:17
![sed 替换echo](/uploads/image/z/14260288-40-8.jpg?t=sed+%E6%9B%BF%E6%8D%A2echo+%22ABC5678%22%7C%5Csed+%27s%2F.%2A%5C%28%5B%5E%5C%28%5C%29%5D%2A%5C%29.%2A%2F%5C1%2F%27%E7%BB%93%E6%9E%9C%E4%B8%BA+ABCecho+%22abc5678%22%7C%5Csed+%27s%2F.%2A%5C%28%5B%5E%5C%28%5C%29%5D%2A%5C%29.%2A%2F%5C1%2F%27%E7%BB%93%E6%9E%9C%E5%B0%B1%E6%98%AFabc5678%E4%BA%86%2C%E8%AF%B7%E9%97%AE%E6%94%B9%E6%88%90%E5%B0%8F%E5%86%99%E6%9C%89%E4%BB%80%E4%B9%88%E5%8C%BA%E5%88%AB%E5%90%97%3F%E6%88%91%E6%83%B3%E8%8E%B7%E5%8F%96%E5%92%8C%E7%AC%AC%E4%B8%80%E4%B8%AA%E4%B9%8B%E9%97%B4%E7%9A%84%E5%AD%97%E7%AC%A6%E4%B8%B2%2C)
xS]s@+;eb2>qԟatbgTƼ!J IRȔJ+@6ɿ݄0SkGv{9gwlJ]yAX+W$;wO+JbRY|\YT%%1))߫Em >nL/gno~4nAڐm;L߂Q
fQG+l2=˝gPفS[v:vn},˯k6)ɼLtH<
|.?θgā]㋐70B9XlJ|d&5:8,ܯ5@s6"p¼\np,wjcՃa`貒
ȭ5jg*S}QEP4;jӅX#p:hJPQ^qШqIEx8̓J_t,zۨđ
f <#"C[BL^hi;lg)
\~oNRy{%~bL_ɦ43
sed 替换echo "ABC5678"|\sed 's/.*\([^\(\)]*\).*/\1/'结果为 ABCecho "abc5678"|\sed 's/.*\([^\(\)]*\).*/\1/'结果就是abc5678了,请问改成小写有什么区别吗?我想获取和第一个之间的字符串,
sed 替换
echo "ABC5678"|\
sed 's/.*\([^\(\)]*\).*/\1/'
结果为 ABC
echo "abc5678"|\
sed 's/.*\([^\(\)]*\).*/\1/'
结果就是abc5678了,
请问改成小写有什么区别吗?
我想获取和第一个之间的字符串,
sed 替换echo "ABC5678"|\sed 's/.*\([^\(\)]*\).*/\1/'结果为 ABCecho "abc5678"|\sed 's/.*\([^\(\)]*\).*/\1/'结果就是abc5678了,请问改成小写有什么区别吗?我想获取和第一个之间的字符串,
正则表达式写得有点问题,第二个是因为没有匹配的结果,在这种情况下sed默认打印出所有输入.你加个 -n 选项就看不到输出了.
之所以不能匹配,问题出在中间 \([^\(\)]*\) 这部分.这个表示 非 这些字符,即中间不能出现这些字符中的任意一个,而非看作一个整体.
其实,中间只需要判断 非 < 就行了,我改一下:
echo "abc5678"|sed 's/.*\([^