小编sch*_*ten的帖子

grep --ignore-case --only

使用--ignore-case和--only-match选项时grep失败.例:

$ echo "abc" | grep -io abc
abc
$ echo "ABC" | grep -io abc
$ 
Run Code Online (Sandbox Code Playgroud)

$ echo "abc" | grep -i abc
abc
$ echo "ABC" | grep -i abc
ABC
Run Code Online (Sandbox Code Playgroud)

根据手册页:

   -o, --only-matching
          Show only the part of a matching line that matches PATTERN.
   -i, --ignore-case
          Ignore case distinctions in both the PATTERN and the input files.
Run Code Online (Sandbox Code Playgroud)

这是grep的错误还是我没有得到地图页面?

我使用的是Mac OS X 10.6.8和

$ grep --version
grep (GNU grep) 2.5.1
Run Code Online (Sandbox Code Playgroud)

找到此链接:http://lists.gnu.org/archive/html/bug-gnu-utils/2003-11/msg00040.html

当然可以使用类似的解决方法grep -o …

regex unix bash grep gnu

69
推荐指数
2
解决办法
14万
查看次数

使用rsync + ssh +公钥作为不同于ssh密钥所有者的用户同步本地和远程目录

目标是通过ssh同步本地和远程文件夹.

我当前的用户是user1,我通过ssh对服务器server1进行了无密码访问设置.我想通过rsync实用程序将本地文件夹与server1上的文件夹同步.通常我会跑:

rsync -rtvz /path/to/local/folder server1:/path/to/remote/folder
Run Code Online (Sandbox Code Playgroud)

ssh访问按预期工作,rsync能够通过ssh连接,但它返回"Permission denied"错误,因为在server1上该文件夹/path/to/remote/folderuser2所有:user2.该文件夹的文件权限不允许其他任何人更改. user1server1上的sudoer,因此在ssh会话期间工作.当ssh发送到服务器时,如何更改rsync来切换用户?sudo su - user2

user1添加到组user2不是一个选项,因为服务器上的所有用户/组管理都是自动完成的,并且每X分钟从中央仓库复制一次,我无法访问.

对于更改目标文件夹的权限/所有权也是如此:它会定期自动更新,并重置所有权限.

我想到的可能解决方案是一个脚本,它将本地文件夹与服务器上user1拥有的临时中间远程文件夹同步,然后将两个远程文件夹同步为user2.

谷歌搜索更短,更漂亮的解决方案并没有取得任何成功.

unix deployment permissions ssh rsync

8
推荐指数
1
解决办法
5428
查看次数

如何使用 Redis Cluster (Elasticache) 修复低 Lettuce 客户端性能?

Lettuce 客户端在 Redis 集群上的表现很差,与单主 Redis 相比,慢了 10 倍。当对客户端的并发请求数大约为 100 时,我开始注意到这个问题。当观察到这个问题时,Redis 实例有多达 300 个打开的连接,并且每分钟有多达 80k 个新连接。在性能下降期间使用 cli 客户端从 Redis 集群读取密钥时,它工作正常,因此看起来像是客户端问题。

堆栈:Spring Boot 1.5.3 Spring Data Redis 1.5.3 Lettuce 4.4.5 Redis 4.0.10

redis lettuce amazon-elasticache spring-boot

5
推荐指数
0
解决办法
876
查看次数