码迷,mamicode.com
首页 > 编程语言 > 详细

转变思维--使用Python生成Shell命令,批量执行程序

时间:2015-06-13 11:21:35      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:shell   python   bash   linux shell   脚本   

近日经常遇到在Linux shell中批量执行相似命令的情况。比如执行如下命令:

gifsicle --delay=100 gif/App_1_hour_*_down.gif > combine_gif/App_1_hour_down.gif
gifsicle --delay=100 gif/App_1_hour_*_up.gif > combine_gif/App_1_hour_up.gif
gifsicle --delay=100 gif/App_2_hour_*_down.gif > combine_gif/App_2_hour_down.gif
gifsicle --delay=100 gif/App_2_hour_*_up.gif > combine_gif/App_2_hour_up.gif
gifsicle --delay=100 gif/App_3_hour_*_down.gif > combine_gif/App_3_hour_down.gif
gifsicle --delay=100 gif/App_3_hour_*_up.gif > combine_gif/App_3_hour_up.gif
gifsicle --delay=100 gif/App_4_hour_*_down.gif > combine_gif/App_4_hour_down.gif
gifsicle --delay=100 gif/App_4_hour_*_up.gif > combine_gif/App_4_hour_up.gif
gifsicle --delay=100 gif/App_5_hour_*_down.gif > combine_gif/App_5_hour_down.gif

如果手动输入,错误率高,时间成本大,效率非常低下。使用Shell编程很容易批量处理上述程序,但如果不熟悉Shell编程,亦可以轻松实现。关键是思维的转变。我们可以使用Python将上述命令写到一个文件里,然后从文件内容拷贝到#!/bin/bash开头的.sh文件中即可构建出所需的Shell脚本文件。生成上述命令的Python代码如下:

output = open("C:\\Python34\\shell_commands.txt", "w")

for i in range (1, 21):
	wr_line_1 = "gifsicle --delay=100 gif/App_" + str(i) + "_hour_*_down.gif > combine_gif/App_" + str(i) + "_hour_down.gif" + "\n"
	wr_line_2 = "gifsicle --delay=100 gif/App_" + str(i) + "_hour_*_up.gif > combine_gif/App_" + str(i) + "_hour_up.gif" + "\n"
	output.writelines(wr_line_1)
	output.writelines(wr_line_2)
output.close()



转变思维--使用Python生成Shell命令,批量执行程序

标签:shell   python   bash   linux shell   脚本   

原文地址:http://blog.csdn.net/vernice/article/details/46480933

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!