我需要在我决定的分隔符后返回所有内容,但仍不完全知道如何使用sed。 我需要做的是:Bash Shell - 第二次出现特定字符后的返回子字符串
$ echo "ABC DE,FG_HI J,123.XYZ-A1,DD/MM/YYYY HH24:MI:SS,,," \
| sed <some regexp>
在这个例子中返回的应该是(子)一切第二个逗号后:
123.XYZ-A1,DD/MM/YYYY HH24:MI:SS,,,
我可以这样用切做到这一点: echo "ABC DE,FG_HI J,123.XYZ-A1,DD/MM/YYYY HH24:MI:SS,,," | cut -d',' -f 2
但我已经被告知剪切速度比sed慢...
有些古鲁人有他们(并且想要:))请给我几分钟的时间,并给我建议? 谢谢! 狮子座
我不知道'cut'比'在这种特殊情况下sed'慢,但我可以告诉你,'cut'并不比'sed'慢'“,足以产生任何实际的区别。如果速度那么重要,你不会在Bash处理这个,对吧? – 2013-03-14 11:48:03
感谢Will,我会在哪里处理它,然后如果速度是最重要的? – Leo 2013-03-14 11:51:33
如果速度真的很重要,你可以用C编写它,它可能比使用'cut'快0.002%,这反过来会比'sed'快得多。 – 2013-03-14 12:03:15