计算化学公社

 找回密码 Forget password
 注册 Register
Views: 7094|回复 Reply: 6
打印 Print 上一主题 Last thread 下一主题 Next thread

[其它] 【已解决】想通过Multiwfn实现当前及下属目录批量转fchk到inp报错

[复制链接 Copy URL]

444

帖子

0

威望

2578

eV
积分
3022

Level 5 (御坂)

娃娃儿鱼

本帖最后由 hdhxx123 于 2021-5-1 15:27 编辑

老师们好,我之前通过修改sob老师的chk2gbw.sh文件实现了fchk2gbw形成inp文件的功能,现在想把该功能推广到当前及下属目录,想在外面嵌套一个遍历目录的循环语句,但是发现简单复制一个sob老师给的提交高斯输入文件的循环不成报错(报错里这些文件夹都是存在的,下属也有fchk文件),没有理解应当如何去修改,先感谢老师们的帮助了

微信截图_20210501091633.png (59.78 KB, 下载次数 Times of downloads: 56)

微信截图_20210501091633.png

fchk2gbw.sh

840 Bytes, 下载次数 Times of downloads: 4

真·探

313

帖子

2

威望

3900

eV
积分
4253

Level 6 (一方通行)

2#
发表于 Post on 2021-5-1 10:11:56 | 只看该作者 Only view this author
肯定不能够连续cd啊,你每次cd后当前工作路径就已经变了。全部都用绝对路径

444

帖子

0

威望

2578

eV
积分
3022

Level 5 (御坂)

娃娃儿鱼

3#
 楼主 Author| 发表于 Post on 2021-5-1 10:21:41 | 只看该作者 Only view this author
本帖最后由 hdhxx123 于 2021-5-1 10:38 编辑
lyj714 发表于 2021-5-1 10:11
肯定不能够连续cd啊,你每次cd后当前工作路径就已经变了。全部都用绝对路径

不是很理解您的意思,报错不是Multiwfn的报错呀,Sob老师的例子里就是用cd进入目录提交高斯输入文件的,这里是cd进去做个循环再出来,为什么说是连续cd呢。
真·探

313

帖子

2

威望

3900

eV
积分
4253

Level 6 (一方通行)

4#
发表于 Post on 2021-5-1 11:11:40 | 只看该作者 Only view this author
本帖最后由 lyj714 于 2021-5-1 11:21 编辑
hdhxx123 发表于 2021-5-1 10:21
不是很理解您的意思,报错不是Multiwfn的报错呀,Sob老师的例子里就是用cd进入目录提交高斯输入文件的, ...

报错就是没有目录,你开始进入了./La这个目录。下一次循环你又cd  ./La/1,这个命令指的是进去当前路径下的La/1,而你的当前可是在La路径下(上一次cd的啊),显然不正确。全部都cd绝对路径准没错。或者一次循环完成以后都cd返回到脚本所在目录也行,比如最前面得到pwd的路径

1102

帖子

18

威望

6703

eV
积分
8165

Level 6 (一方通行)

計算化学の社畜

5#
发表于 Post on 2021-5-1 11:59:16 | 只看该作者 Only view this author
可以参考我之前分享的脚本中的写法:
《批量转换量子化学软件I/O文件以及提取输出信息的Shell脚本》
http://bbs.keinsci.com/thread-16231-1-1.html
Stand on the shoulders of giants

444

帖子

0

威望

2578

eV
积分
3022

Level 5 (御坂)

娃娃儿鱼

6#
 楼主 Author| 发表于 Post on 2021-5-1 13:17:09 | 只看该作者 Only view this author
本帖最后由 hdhxx123 于 2021-5-4 14:02 编辑
lyj714 发表于 2021-5-1 11:11
报错就是没有目录,你开始进入了./La这个目录。下一次循环你又cd  ./La/1,这个命令指的是进去当前路径下 ...

了解您的意思了,谢谢老师,明白了,我是漏看了sob老师脚本里的一句"cd - > /dev/null",现在这个代码fchk2gbw.sh用您这种方式已经搞定了,同时附上批量运行这些inp的脚本allfolder_runall.sh,大家需要可以自取定制(别偷懒忘记改fchk2gbw.sh来改变关键词以及机子的正确orca和Multiwfn的路径以及allfolder_runall.sh中orca的路径,例:只要在fchk2gbw.sh的最后一个EOF后另起一行加入
  1. sed -i 's/grid4 gridx4 tightSCF/grid5 gridx4 FinalGrid6 slowconv tightSCF/g' $inp
复制代码

即可将“grid4 gridx4 tightSCF”改为“grid5 gridx4 FinalGrid6 slowconv tightSCF")。allfolder_runall.sh中有调用fchk2gbw.sh的语句,将两个脚本放在一起时改好fchk2gbw.sh后可以直接
  1. sh allfolder_runall.sh
复制代码

便会自动会将下属所有目录下的fchk文件转化为gbw文件再调用orca进行运算同时输出信息到屏幕)

2021.5.4 补充:fchk2gbw如果有报错的问题,把数字为100那一行前加一空行能解决


fchk2gbw.sh

888 Bytes, 下载次数 Times of downloads: 4

allfolder_runall.sh

286 Bytes, 下载次数 Times of downloads: 0

真·探

444

帖子

0

威望

2578

eV
积分
3022

Level 5 (御坂)

娃娃儿鱼

7#
 楼主 Author| 发表于 Post on 2021-5-1 13:18:21 | 只看该作者 Only view this author
本帖最后由 hdhxx123 于 2021-5-1 13:20 编辑
冰释之川 发表于 2021-5-1 11:59
可以参考我之前分享的脚本中的写法:
《批量转换量子化学软件I/O文件以及提取输出信息的Shell脚本》
http ...

冰佬的这个脚本太好用了!在各个转换模块后加几个sed输入文件就都能自己定制了,赛高!
真·探

本版积分规则 Credits rule

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2026-2-21 05:45 , Processed in 0.338515 second(s), 23 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list