Linux 提示符中的换行符?
我在 Perl 中使用 qx 在 Linux 机器中执行命令。
我正在尝试解析 Perl 中的一些输出,但不知道如何替换多行输出中的换行符。
我一直在尝试这样的事情:
$result =~ s/\\n/||/g;
我似乎记得一些操作系统的“\r”,并且我一直在尝试与“\n”的不同组合。
另外,我开始有一堆看起来像这样的行,并且想将它们组合起来:
$result =~ s/ bytes from /|/g;
$result =~ s/ \(/|/g;
I am using qx in Perl to execute commands in a Linux machine.
I'm trying to parse some output in Perl but don't know how to replace the new-line character in multi-line output.
I have been trying something like this:
$result =~ s/\\n/||/g;
I seem to recall a '\r' with some OSs and I have been trying different combinations with '\n'.
Also, I am starting to have a bunch of lines that look like this, and would like to combime them:
$result =~ s/ bytes from /|/g;
$result =~ s/ \(/|/g;
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果
\
是特殊序列的开始(如果它后面跟着一个字母),或者它导致下一个字符按字面匹配(如果它后面跟着一个非字母)。因此,匹配
\
后跟n
。\n
是一个与换行符匹配的特殊序列,所以你想要所以你可以使用
perlre
关于其余的,
很简单
If
\
is either the start of special sequence (if it's followed by a letter), or it causes the next character to be matched literally (if it's followed by a non-letter). Therefore,matches
\
followed byn
.\n
is a special sequence that matches a newline, so you wantSo you could use
perlre
Regarding the rest,
is simply
一方面,您不应该使用双反斜杠。
操作方法如下:
这是一个键盘:http://codepad.org/k0oA2YX4
You shouldn't be using double backslashes, for one thing.
Here is how you can do it:
Here is a codepad for it: http://codepad.org/k0oA2YX4