redhat 红帽子系统有没有 ssh 远程登录到主机上面,查询某个文件夹下面的文件某个位置的字符是否为 00

2019-11-30 09:14:36 +08:00
 qile1

如题,之前需要查询 dicom 文件是否有打印标志,发现文件有个规律(有打印标记的文件某个固定位置存在一个固定的标记)

我现在是把文件夹通过共享映射驱动器到 Windows 本机然后遍历文件夹,挨个读取里面的文件信息来找出有打印标记的文件。
现在想实现 python 在 Windows 系统运行远程登录直接执行命令来查询找出这些文件,文件是按年月日保存在红帽子系统里面,文件数量大概有几千个,有时文件会有增加修改,我 Linux 命令不熟,想请教大家有没有好的办法?

我暂时想到的办法是用 python 里面的 sftp 下载到本地挨个读取查找。 补充一下,Linux 系统里面不允许运行程序

2958 次点击
所在节点    Python
7 条回复
iamwho
2019-11-30 09:34:10 +08:00
改用 rsync
xfspace
2019-11-30 09:39:20 +08:00
grep 00 /folder/*
yuikns
2019-11-30 09:53:21 +08:00
ssh 上去 cd 也算“运行程序” 了吧?
如果基本 linux 的不算。那么直接

ssh your-server grep -nr /path/to/your/folder

这个不工作!
yuikns
2019-11-30 09:53:50 +08:00
@yuikns typo: 感叹号改成问号 orz
qile1
2019-11-30 10:21:56 +08:00
@iamwho 同步文件得在 redhat 上面安装个程序是不是,这样不好弄。

@xfspace 这个速度如何,有没有指定起始位置,感谢回复

@yuikns 我上面没说清楚,“运行程序”指的是在上面大量安装程序,并后台长时间运行,因为他们经常重启动服务器,而且没事就删他们不用的文件,他们给了我 root 用户密码,但是因为我对这个系统不太熟,所以不想在上面乱安装程序。
iamwho
2019-11-30 10:45:23 +08:00
@qile1 #5

redhat 应该默认就安装了 rsync,作为服务存在。
当然,本以为你说的不运行任何程序是真的不运行。

如果可以运行的话,#3 的方法就很好,


远程执行本地脚本:
ssh user@server < /path/to/local.sh

执行远程脚本 /CLI:
ssh user@server /path/to/remote.sh
ssh user@server CLI
qile1
2019-11-30 11:13:38 +08:00
谢谢回复,先准备按楼上的方法,用 python 执行如下命令获取文件信息,
strings 文件名|grep '要搜索的字符串'

我先试试

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/624521

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX