热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

带有多个管道的R-系统命令不会返回stdout。-R-systemcommandswithmultiplepipedonotreturnstdout

bash:bash:ps-aux|grep-E^.*\b[^grep](python).*(runserver).*$2>devnull|tr-s|c

bash:

bash:

ps -aux | grep -E "^.*\b[^grep](python).*(runserver).*$" 2>/dev/null | tr -s " " | cut -d " " -f 2

It's return correct result. (eg.)

这是返回正确的结果。(如)。

1450
1452

This same code in R

R中的相同代码

vLog <- system('ps -aux | grep -E "^.*\b[^grep](python).*(runserver).*$" 2>/dev/null | tr -s " " | cut -d " " -f 2', intern = TRUE)

return character(0)

返回字符(0)

1 个解决方案

#1


3  

Just replace \b with \\b and also be aware of [^grep] which matches any character but not of g or r or e or p.

只是替换\ b \ \ b也意识到(^ grep)匹配任何字符,但不是g或r e或p。

vLog <- system('ps -aux | grep -E "^.*\\b[^grep](python).*(runserver).*$" 2>/dev/null | tr -s " " | cut -d " " -f 2', intern = TRUE)

Example:

例子:

> system('ps -aux | grep -E "^.*\\bpython" 2>/dev/null | tr -s " " | cut -d " " -f 2', intern = TRUE)
[1] "2519" "2526" "3285" "3291"
> system('ps -aux | grep -E "^.*\bpython" 2>/dev/null | tr -s " " | cut -d " " -f 2', intern = TRUE)
character(0)

推荐阅读
author-avatar
看吧看吧说你你不信
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有