echo "1,a,20,000,aa,s" | sed 's/,\([^0]\)/|\1/g'
**output
1|a|20,000|aa|s**
请解释上述命令。
我无法理解这次执行。
答案 0 :(得分:0)
给定的命令使用sed将某些字符替换为其他字符。
基本形式是
s/FIND/REPLACE/
其中FIND和REPLACE是正则表达式。 最后的g代表全球。这意味着不仅第一次出现模式匹配FIND,而且所有出现都在输入字符串中。
使用正则表达式:
FIND,\([^0]\)
此模式匹配以,
开头的所有两个字符串,后面跟不是0
。
REPLACE |\1
这等于以|
开头的两个字符串,后跟FIND中的第二个字符。 (\1
会记住以前找到的匹配项)
有关sed命令的详细概述,我建议您也阅读:http://www.grymoire.com/Unix/Sed.html#uh-1
要查看如何阅读正则表达式:http://www.grymoire.com/Unix/Regular.html
如果上述网页对您不具启发性,那么有更多网站可以找到。