假设我有这个数据1:a:b:c2:d:e:f3:a:b4:a:b:c:d:e:f我想要的输出是1a1b1c2d2e2f3a3b4a4b4c4d4e4f我从thisquestions得到的我尝试的解决方案是这个sed-re's/^([0-9]):/\1/g;s/:/L/g'temp.txt我有两种不同的模式。我只想知道我可以在第二种模式中使用\1像这样sed-re's/^([0-9]):/\1/g;s/:/\1/g'temp.txt 最佳答案 捕获组只能在创建它的替换命令中使用。这是学习sed的重要资源:http://www.grym
我有一个任务,要替换字符串中的特定模式。到目前为止,我尝试了像sed-e's/text_to_find/text_to_replace/g'file这样的命令但我不明白为什么它会更改所有字符串,而不仅仅是我想更改的部分。我想做的是在每个包含单词china的字符串中添加这个Tomas_proxy.lt为了清楚起见,我正在寻找的是我正在使用的文件:987173,businesswirechina.com988254,chinacfa.com988808,1012china.com989146,chinawise.ru989561,chinaretailnews.com989817,mobi
我有一个任务,要替换字符串中的特定模式。到目前为止,我尝试了像sed-e's/text_to_find/text_to_replace/g'file这样的命令但我不明白为什么它会更改所有字符串,而不仅仅是我想更改的部分。我想做的是在每个包含单词china的字符串中添加这个Tomas_proxy.lt为了清楚起见,我正在寻找的是我正在使用的文件:987173,businesswirechina.com988254,chinacfa.com988808,1012china.com989146,chinawise.ru989561,chinaretailnews.com989817,mobi
我是shell脚本和sed命令的新手。以下sed命令在Solaris中有效,但在Linux中出错:sed-n's/^[a-zA-z0-9][a-zA-z0-9]*[][]*\([0-9][0-9]*\).*[/]dir1[/]subdir1\).*/\2:\1/p'错误是:sed:-eexpression#1,char79:Invalidrangeend我不知道为什么会出现无效范围结束错误。 最佳答案 LinuxSed似乎不喜欢您的A-z(两次)。无论如何,这真的没有意义。使用[A-Z](大写Z)
我是shell脚本和sed命令的新手。以下sed命令在Solaris中有效,但在Linux中出错:sed-n's/^[a-zA-z0-9][a-zA-z0-9]*[][]*\([0-9][0-9]*\).*[/]dir1[/]subdir1\).*/\2:\1/p'错误是:sed:-eexpression#1,char79:Invalidrangeend我不知道为什么会出现无效范围结束错误。 最佳答案 LinuxSed似乎不喜欢您的A-z(两次)。无论如何,这真的没有意义。使用[A-Z](大写Z)
我有一个CSV文件,其中包含如下数据:-1,275,,,275,17.3,0,"2011-05-0920:21:45"2,279,,,279,17.3,0,"2011-05-1020:21:52"3,276,,,276,17.3,0,"2011-05-1120:21:58"4,272,,,272,17.3,0,"2011-05-1220:22:04"5,272,,,272,17.3,0,"2011-05-1320:22:10"6,278,,,278,17.3,0,"2011-05-1320:24:08"7,270,,,270,17.3,0,"2011-05-1320:24:14"8,2
我有一个CSV文件,其中包含如下数据:-1,275,,,275,17.3,0,"2011-05-0920:21:45"2,279,,,279,17.3,0,"2011-05-1020:21:52"3,276,,,276,17.3,0,"2011-05-1120:21:58"4,272,,,272,17.3,0,"2011-05-1220:22:04"5,272,,,272,17.3,0,"2011-05-1320:22:10"6,278,,,278,17.3,0,"2011-05-1320:24:08"7,270,,,270,17.3,0,"2011-05-1320:24:14"8,2
我试图找到一种方法来删除第一个单词中的所有字符,如果该字符在第二个单词中。输入看起来像这样:电脑费用结果应该是:“mpuer”,因为c、o和t被删除了。有多个这样的行,由回车分隔,2个单词由空格分隔。我已经花了很长时间寻找解决方案,但我真的被困住了。感谢所有帮助。 最佳答案 这可能对你有用:echo"computercost"|sed':a;s/\(.\)\(.*.*\1.*\)/\2/;ta;s/.*//'mpuer解释:为以后的分支命令做一个标签:a;删除第一个单词中与第二个单词中相同字符匹配的字符s/\(.\)\(.*.*\1
我试图找到一种方法来删除第一个单词中的所有字符,如果该字符在第二个单词中。输入看起来像这样:电脑费用结果应该是:“mpuer”,因为c、o和t被删除了。有多个这样的行,由回车分隔,2个单词由空格分隔。我已经花了很长时间寻找解决方案,但我真的被困住了。感谢所有帮助。 最佳答案 这可能对你有用:echo"computercost"|sed':a;s/\(.\)\(.*.*\1.*\)/\2/;ta;s/.*//'mpuer解释:为以后的分支命令做一个标签:a;删除第一个单词中与第二个单词中相同字符匹配的字符s/\(.\)\(.*.*\1
我有一个Bash脚本:var="DAVOnAuthTypeDigestAuthName"rw"AuthUserFile/etc/password/digest-passwordRequireusertest123456DavOnAuthTypeDigestAuthName"ro"AuthUserFile/etc/password/digest-password-test2denyfromall"sed-i-e"s/somestringX/${var}/g"change.txt返回错误:sed:-eexpression#1,char9:unterminated`s'command当$va