24小时热门版块排行榜    

查看: 1127  |  回复: 4

chenai.com

木虫 (正式写手)

[求助] 求助一段批量处理文件的shell脚本

本人写了一段C++代码,希望有人能提供一个脚本,批量读取并写入文件。如下:

char IF[]="dump.npt.c.temperature.lammpstrj";
char OF[]="BondCC.temperature.txt";

希望能处理temperature=100,200,300……这n多的IF文件,并将处理结果写入n多的OF文件中。即shell脚本中实现搜索.cpp文件中的temperature,替换为一系列温度数字,然后能编辑.cpp,并执行。
目前只会每次手动修改temperature值,然后g++ bond.cpp -o bond.out,然后运行bond.out。菜鸟求助,附上cpp文件。
回复此楼

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : Bond.cpp
  • 2012-07-05 14:58:44, 3.26 K

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xioooli

金虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
CODE:
tpl="Bond.cpp"
for f in *.lammpstrj; do
    t=$(echo $f|grep -o "[0-9]\+")
    cat $tpl|sed "s/temperature/$t/g" > Bond-$t.cpp
done

2楼2012-07-07 10:17:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xioooli

金虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ...
chenai.com: 金币+100, ★★★★★最佳答案 2012-07-07 18:15:57
保存成xx.sh放在dump.npt.c.temperature.lammpstrj和Bond.cpp同样的目录下,然后执行bash xxx.sh,最后将在当前目录下生成一堆Bond-temperature.cpp的文件,里面对应的temperature都改好了的。
3楼2012-07-07 10:19:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

chenai.com

木虫 (正式写手)

引用回帖:
3楼: Originally posted by xioooli at 2012-07-07 10:19:20
保存成xx.sh放在dump.npt.c.temperature.lammpstrj和Bond.cpp同样的目录下,然后执行bash xxx.sh,最后将在当前目录下生成一堆Bond-temperature.cpp的文件,里面对应的temperature都改好了的。

谢谢,能够批量处理了。不过这样的话生成了一堆Bond-temperature.cpp文件,需要再写一个批处理执行一堆Bond-temperature.cpp,还好这个有模板。如果能够在改变temperature变量时,编辑cpp并执行那更好了。望以后能多多指教,非常感谢!
4楼2012-07-07 18:19:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

chenai.com

木虫 (正式写手)

引用回帖:
2楼: Originally posted by xioooli at 2012-07-07 10:17:02
tpl="Bond.cpp"
for f in *.lammpstrj; do
    t=$(echo $f|grep -o "\+"
    cat $tpl|sed "s/temperature/$t/g" > Bond-$t.cpp
done

在done上面加了两行:
g++ bond.$t.cpp -o bond.out
./bond.out
能实现生成同时执行了,再次谢谢您!
5楼2012-07-07 18:31:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 chenai.com 的主题更新
信息提示
请填处理意见