科学网

 找回密码
  注册

tag 标签: 脚本

相关帖子

版块 作者 回复/查看 最后发表

没有相关内容

相关日志

对正在运行的进程进行监控,其完成之后运行第二个进程的脚本
cuisir 2019-5-25 17:50
#! /usr/bin/env bash g++ -o dcpround1 -O -O2 -O3 ./two_DCP_Round1.cpp nohup ./dcpround1 /dev/null 21 printf ./dcpround1 'ok\\n' ############################################################ flag=1 result=1 while do sleep 500s result=`pidof dcpround1` if ; then echo process is finished g++ -o dcpround2 -O -O2 -O3 two_DCP_Round1.cpp nohup ./dcpround2 /dev/null 21 printf ./dcpround2 'ok\\n' flag=0 else echo process is running flag=1 fi done 首先对启动进程dcpround1,然后每隔500S监控其是否完成,如果完成那么启动进程dcpround2。 这个脚本还有bug。
个人分类: 软件学习|1753 次阅读|0 个评论
MAC shell脚本运行 GMT
mycoon 2019-5-17 10:01
使用GMT绘图时,不知道在MAC下如何运行脚本,现在已经知道如何运行脚本,但是尚未解决GMT脚本的运行,可能是安装的GMT环境变量未设置。 1、 新建以文本文件,命名为f.sh,注意使用unix下的格式,否则运行会提示错误 2、cd路径:cd 文件路径(到文件名的上一层) 3、赋予终端运行shell文件的权限:chmod +x f.sh 4、拖入文件名到终端或者:.\\f.sh
个人分类: 感性|2791 次阅读|0 个评论
统计水分子间氢键个数的 Pymol 脚本
jasonmumu 2017-11-21 19:58
笔者编写了一个统计水分子间氢键个数的小脚本,与大家分享一下。该脚本基于 python 3 编写而成, 可以直接应用于 pymol 软件。脚本的使用方法与在 pymol 中使用其他脚本的方法一样,即把 *.py 文件放到与 PyMOL.exe 相同的目录下,接着 run *.py ,此时 *.py 文件中扩展的命令生效,最后执行该命令。这里,小脚本的使用方法是:1) run sum_hb.py; 2) sum_hb 。需要注意的是,该脚本仅能计算水分子之间的氢键,事实上它能很方便地扩展到含S,N等原子的体系的计算。 sum_hb.py 文件在附件中( sum_hb.py ),这里也把代码贴出来供大家参考: # -*- coding: utf-8 -*- Created on Tue Nov 21 14:54:28 2017 Usage: 1) run sum_hb.py; 2) sum_hb Author: Mu Liu-Hua, 2017 #声明函数包 import numpy as np import math from pymol import cmd, stored def sum_hb(): #点乘函数 def dot_product(xyz_1,xyz_2): return xyz_1 * xyz_2 + xyz_1 *xyz_2 + xyz_1 * xyz_2 def distant(xyz_O_1,xyz_O_2): return math.sqrt(math.pow(xyz_O_1 - xyz_O_2 ,2) + math.pow(xyz_O_1 \\ - xyz_O_2 ,2) + math.pow(xyz_O_1 - xyz_O_2 ,2)) #计算长度的函数 def length(xyz_O_1): return math.sqrt(math.pow(xyz_O_1 ,2) + math.pow(xyz_O_1 ,2) + math.pow(xyz_O_1 ,2)) n_frames = 2 arguments = ( )#氢键的判别标准 N_O= stored.list= == O: N_O.append(index_0+1) if element_name ==H: N_H.append(index_0+1) #统计氢键的个数 hydrogen_number = np.zeros( ) frames_index = np.zeros( ) for n in range(n_frames-1): frames_index = n+1 N_xyz = cmd.get_coords('all', 1) possible_bonds = ) O_1 = N_O xyz_O_1 = N_xyz for index_2 in range(index_1 + 1, len(N_O)): xyz_O_2 = np.zeros( ) O_2 = N_O xyz_O_2 = N_xyz dist = distant(xyz_O_1,xyz_O_2) if dist arguments : possible_bonds.append((O_1, O_2)) #利用氢原子与氧原子的距离作进一步判断 possible_bonds_refined = O2_index = possible_bond O1_xyz = N_xyz O2_xyz = N_xyz for H_index_1 in range(len(N_H)): H_index = N_H H_xyz = N_xyz dist1 = distant(O1_xyz,H_xyz) if dist1 arguments : dist2 = distant(O2_xyz,H_xyz) if dist2 arguments : if dist1 1.3 or dist2 1.3: if dist1 1.3: possible_bonds_refined.append((H_index, O1_index, O2_index)) else: possible_bonds_refined.append((H_index, O2_index, O1_index)) #利用角度作最终判断 hydrogen_bonds = bond_donor_index = possible_bond_refined bond_acceptor_index = possible_bond_refined bond_donor = N_xyz hydrogen = N_xyz bond_acceptor = N_xyz vector1 = ( - bond_donor , hydrogen - \\ bond_donor , hydrogen - bond_donor ]) vector2 = ( - bond_donor , bond_acceptor \\ - bond_donor , bond_acceptor - bond_donor ]) angle = math.acos((dot_product(vector1,vector2))/(length(vector1) * \\ length(vector2))) * 180 / math.pi # at most 180 if angle = arguments : hydrogen_bonds.append(possible_bond_refined) hydrogen_number =len(hydrogen_bonds) print (hydrogen_bonds are:,hydrogen_bonds) print (hydrogen_number is:,int(hydrogen_number)) cmd.extend(sum_hb, sum_hb) sum_hb.py 参考网址: HBonanza: a computer algorithm for molecular-dynamics-trajectory hydrogen-bond analysis. http://rocce-vm0.ucsd.edu/data/sw/hosted/hbonanza/ . 2017.11.21 PyMOL Command Reference. http://pymol.org/pymol-command-ref.html 2017.11.21
个人分类: 程序的编写|6848 次阅读|0 个评论
Bartender 数据源配置、脚本使用、文本的转化 等使用体会
dingsir 2017-5-28 19:55
Bartender 数据源配置、脚本使用、文本的转化 等使用体会 update on 2017-6-14 本人很少打印标签,因此与标签软件无缘。只是近期有人在使用中碰到打印QR码的问题问我,便临时研究了下Bartender 2016的数据源设置与文本控制,很有感触,这个软件比LabelMatrix在设计理念了先进了许多,提供的数据链接,内容处理等方面远远强过LM(LM只能在控件的属性中进行一些非常简单的处理,连文本处理函数的支持十分有限),确实做得非常不错,建议需要使用较复杂的打印功能或者是数据与打印能够灵活联通的用户考虑用Bartender来处理,以后的可利用性会好不少(不过这些复杂功能的使用涉及到VBA代码,对用户的要求稍高一些,最好是找程序员研究下帮忙设定好) 1.Bartender(以下简称BT)对XLSX的支持不好? 以XLSX格式作为数据源时总是“表格不是预期格式”,但换成XLS格式就一切正常。怀疑是数据库引擎配置的问题,可能我的电脑上有某种个案问题(64位Win10+32 位 Office)。用MDB文件来作数据源没有问题。如果总是数据库提示出错,就要检查下是否安装的数据库引擎版本不对的,比如该装32位数据库引擎而没有装,详细的可百度之。 数据源配置的界面介绍如下 2. 数据源无论是EXCEL的XLS文件,还是ACCESS的MDB文件,还是CSV文件,中文名作为字段都是允许的。 3.每个控件(或者说是文本标签/图像标签)等的后台都有一个数据源的名字,它们在同一个文件中是可以重用的。比如标签1的数据源名字是A,值是6.0, 标签2的数据源名字是B, 值可以写成A+3, 如果A是6.0, B的值就是9.0. 它们会自动联动,很方便。 4. 数据源配置为数据库字段时,可以在数据库字段上用SQL语句进行修改。默认是导入全部字段,但修改SQL语句之后,可以减少一些字段,或者利用字段进行连接/处理等形成新的字段,是借SQL语法之力。字段名称用反单引号(在左上角~的键位)包围起来,如 `CustomeName`, `地址` 等。字段的连接用, 文本用英文双引号包围起来。如 SELECT `MatlID`, `BatchNO`, `OrderID`, `SeqNO`, `MatlID` * `BatchNO` * `OrderID` * `SeqNO` as FullCodeInfo FROM `Sheet1$` 这句话的意思就是,导入MatlID,BatchNO,OrderID,SeqNO, 且将MatlID, BatchNO, OrderID, SeqNO用*连接起来并命名为FullCodeInfo的新字段,一同导入进来。这个新字段原来在数据库中不存在,是导入的过程中临时生成的。 5.将数据库的某个字段设置为控件的内容来源很简单,比如上面的新字段作为二维码的数据来源,很容易配置。但用VBScript来生成复合字段就稍微复杂一点,但弄明白了也不复杂。 6.为灵活处理数据,数据源可以选用VBScript(实质是用VBScript来生成数据) 当选择VBScript作为数据来源时,有BT 2016提供了三种选择,单行表达式,多行脚本和事件控制脚本。这三个新名词,大约分别相当于 简单表达式,VBScript程序 和VBScript 事件三种类型。 事件控制脚本与多行脚本的差别好 象不大,主要是用于事件处理当中。我猜想多行脚本其实就是放在某个 事件中的特定处理代码。不过,既然是事件处理,这种脚本可以用在某些事件发生之时,从他们的名字就可以想见。 单行表达式,顾名思义,只能写成一行,可以使用连接符、计算符号、函数等将结果写在一行上,(显然,IF/ELSE等流程控制结构是不能用的,经测试BT提供的IIF函数也是不能用的),举例来说,它的形式是这样的 Field(Dxh_BartenderConnectToExcel.Sheet1\\$.OrderID) * Field(Dxh_BartenderConnectToExcel.Sheet1\\$.MatlID) * Field(Dxh_BartenderConnectToExcel.Sheet1\\$.BatchNO) * Field(Dxh_BartenderConnectToExcel.Sheet1\\$.SeqNO) 注意以上内容虽然占了两行,由于BT提供的脚本编辑器中有个很大的缺点:一个语句只能写在一行上,不能使用回车断成几行,否则会出错。所以在编辑器上它是一长行。 写完之后,可以点击VBS编辑器提供的Test Script按钮来测试一下结果是否正确,观察下面的输出就能看到。 单选表达式不需要也不能在语句的最前面加上Value=以表示这个结果。这个估计内部已经提供了。 多行脚本的功能更灵活一些,可以写上几行代码,甚至在其中插上Msgbox 函数来提示一下。该控件的值用Value来表示,这是一个可读写的属性。 多行脚本中有Value=A +B 这样的形式,可以多次给Value赋值,以最后返回的Value值为准。 注释的方法与VB中一样,以单引号开始的视为注释。 多行脚本中,可以利用IIF函数(BT特别提醒这是他们为脚本提供的补充函数,以方便客户使用)。 以下是一个非常简单的多行脚本, dim s s=Field(Dxh_BartenderConnectToExcel.Sheet1\\$.SeqNO) if s=0001 then s=First One end if ' s=iif(Field(Dxh_BartenderConnectToExcel.Sheet1\\$.SeqNO)='0001, First One, Field(Dxh_BartenderConnectToExcel.Sheet1\\$.SeqNO) ) Value=Field(Dxh_BartenderConnectToExcel.Sheet1\\$.OrderID) * Value=Value Field(Dxh_BartenderConnectToExcel.Sheet1\\$.MatlID) * Value=Value Field(Dxh_BartenderConnectToExcel.Sheet1\\$.BatchNO) * Value=Value s ' Value in the last line will be used as output result. 这个多行脚本基本上与VBA中的过程比较类似了。BT中也提供了数量不少的函数供VBScript使用,可以打印脚本助手来浏览,导入的字段是用Field(Dxh_BartenderConnectToExcel.Sheet1\\$.BatchNO)这样的形式来使用的,Dxh_BartenderConnectToExcel是数据源的名字,Sheet1\\$是EXCEL数据源文件中表单的名字,BatchNO是字段(也就是列标题)的名字。 事件控制脚本 相当于VB程序中的事件,有onAutoSelectedEvent, OnScreenUpdate, OnPrintStart, OnPrePromt, OnPostPrompt, OnNewRecord, OnSerialize, OnIdentialCopies, OnPrintCancel, OnPrintEnd 等10来个事件,可以在其中编写代码。如提示开始某项操作或变更数据。不过注意在OnScreenUpdate中尽量不要写msgbox这样的过程,由于屏幕刷新比较多,这个做法比较烦人的。 在文本的处理上,用到多行脚本基本上就够用了,事件控制脚本我猜想主要是为某些操作做准备或提示而设定的。 7. 强大的“转换” 除了脚本功能,BT还为脚本的处理提供了另一套强大的功能,即“转换”,即有对数据源内容处理的转换(也有对可读性文本提供的类似处理) 通过预设格式或要求,对文本进行各种操作,选项非常丰富。与此同时,对转换操作还提供了OnProcessData的事件为此提供更多的控制机会。 在BT的数据源设置中,根据数据的类型不同,它还提供了不同的格式化或处理的功能,如果选择是文本,看不到什么选项。如果切换为数字/日期/时间/货币/百分比等,就能看到下面会出现不同的格式选项。尤其是日期的格式选择十分丰富,还可以自己定义格式,只要对照样式与下面它的掩码弄明白其含义,定义日期格式就会变得非常简单且随心所欲去定义自己需要的样式了。 “转换”页面为数据源的文本处理提供了非常强大的处理功能,其可以进行的处理有:抑制/字符筛选器/截短/字符数(限制)/字符模板(格式化)/搜索并替换/VB脚本/序列化/前缀和后缀等一共9类。 其中比较简单的处理有 7.1字符数(限制)。点击后其页面允许设定文本的最短长度和最长长度,以及超过时是否警告。对于最短字符数不足,还可以指定用何种符号去进行填充。 7.2截短处理也很好理解,主要是对文本内容左或右进行清理,如删除空格,截去某个长度等,基本上看到就明白,不多说。 7.3前缀和后缀也是比较简单的处理,在原来的文本基础上在首/尾附加特定的字符就行。 7.4 字符筛选器可以对数据来源中的字符进行过滤。比如指定只有数字,则字母符号等会被过滤掉再导入到控件中来(这个处理发生在脚本执行之后,比如脚本合成了复合字段内容,但内容中有字母/符号等,会被字符筛选器过滤掉)。然而这其中还允许有自定义允许的字符集,由掩码来设置,还可以用正则表达式来设定范围,真正非常完善和强大。 7.5 字符模板的主要作用是对文本进行隐藏或加上一些特定符号,如连字符,%等。结合隐藏功能与加字符功能,实际上可以达到一定的替换效果。但字符模板没有提供动态指定长度的方法,因此比较适合固定长度的文本进行操作。 例如数据源字串为 MATL003231*N21705061139*1011232*0001 应用字符模板 (????)??????n~?????????????n~????????n~???? 结果就得到了四行的文本(二维码的文本格式要设置为段落而不是单行) (MATL)003231 N21705061139 1011232 0001 上面的模板利用~功能将*号抑制了,并在前面插入了一个换行符\\n,产生了换行的效果。 注意每个?代表一个字符,十个字符就用10个问题;如果要表达剩下的字串,用%符号。其它更多的特定符号参见上图BT提供的特殊符号清单。 7.6 搜索并替换功能也是非常强大,在搜索的模式中可以使用搜索并替换,搜索并在前面插入或后面插入,搜索并删除,搜索并删除前面/后面,在输入文本前面或结尾插入等,搜索内容可以使用特殊符号/通配符号等,搜索的语法可以用文字/通配符甚至是正则表达式。 首先点击 新建建立一个(查找-替换的)动作。每个动作实际就是一个特定内容的查找替换过程。 简单文本的查找替换 复杂一点的可以使用通配符来进行搜索替换,这个与WORD的查找替换相似 更为厉害的是使用正则表达式来进行查找替换,这里举个简单的例子,查找含连续4个及以上字母的文本,替换为★,注意选择的语法是“使用正则表达式” 7.7 系列化的作用主要是为文本内容增加系统号或顺序号。可以设定的也很丰富,可以到达达一定数量之后重新开始计数,这一点对于大量打印是非常有用的。详细的功能设定稍作研究就能明白。 注意下面的图片中,我选择的是每次序号跳2个,由a到c再到e,依次类推。 使用它的预览功能对于判断我们的设定是否合理很方便。 7.8 VB脚本。这个容易理解,实质就是在OnProcessData事件中编写代码,结果由Value变量返回。 7.9 抑制。这个没有研究,估计与“字符模板”中的“抑制”相似。 最后顺便说下,BT的中文帮助已经提供了这些功能较为详细的介绍,但仍不够深入,有待你的自行研究。
个人分类: 软件杂谈|3147 次阅读|0 个评论
Abaqus参数化分析
freemandong 2016-3-23 21:46
Abaqus是一个跨平台的有限元分析软件,其CAE界面主要用来前处理,生成Input文件,再将Input文件提交到有限元内核中分析求解。Abaqus本身就提供参数化分析的功能,所以用它来完成参数化分析非常容易。 要对Abaqus参数化分析,分几个步骤。 1 要有一个inp文件的模板。可以使用CAE生成的inp文件作为模板。 2 要确定研究的参数,把参数定义在inp模板中。 这时在inp文件的头部加一个关键字 *PARAMETER, 说明要定义的参数 另起一行,把要定义的参数和其初始写入。如: par1 = 10 这样,参数par1就定义在inp模板中了。在参数要使用的位置,将原有的数据换成加尖括号的参数名,如par1 inp模板就做好了。 3 编写脚本定义参数化分析方法 Abaqus与Python语言是紧密联系的,驱动参数化分析也是使用python脚本。参数化分析被封装为一个ParStudy类,提供了一系列方法,需要在脚本中完成下列定义。 1)参数化分析的名称和参数名称 2)参数的定义,是连续的还是离散的 3)参数取样。有多种取样方法,可以给定一系列值,也可以在指定范围内取样,还可以对称取样。 4)参数组合。有三种组合方法 ,MESH, TUPLE, CROSS 5)生成inp文件 6)执行分析 7)建立分析的结果库 8)在结果库中搜集关心的分析结果 9)输出分析结果 这9个步骤下来,就可以实现参数化分析并获取结果了。具体的脚本可以参考Abaqus的帮助文件。 为了分析的方便,我把上述语句写成了一个模板,放在附件中了: ParameterStudyScript.psf 只要在上面做一些小修改就可以实现参数化分析了。 4 脚本执行 在inp和psf文件所在的位置打开终端(或命令提示符),输入 abaqus script=xxx.psf 就可以执行了。执行结束后在终端中会有提示。记得把abaqus/Commands加入环境变量。
个人分类: 软件应用|5276 次阅读|0 个评论
DM脚本--Record_active_images
flyer84 2014-8-4 09:53
原位电子显微学研究已成为一个非常热门的研究方向。要做出理想的原位实验结果,不仅需要合适的样品和实验参数;还需要有具有原位功能的电子显微镜或者原位样品杆;和灵敏度高、读出速度快的 CCD 相机;最后还需要的是,我们的相机软件具有记录原位实验的功能。 Gatan 的多款相机适合做原位实验研究,比如说具有 30fps 读出速度的 833,830,994, ;速度为 14fps 的 831,832 也可以用来做原位实验。在软件方面,我们的 DM 软件提供两个选配插件 HD Video 和 In-Situ 。 HD Video 是用来记录高清视频, In-Situ 不仅可记录高清视频,还可以把原位实验参数(温度、力等)同步记录整合到视频的每一帧中。 如果我们目前还没有购买 HD Video 或者 In-Situ 插件,但仍想来做一些原位工作的话,不妨试试这个脚本。该脚本是用来快速记录 View 窗口图像,图像每刷新一次,该脚本就会自动拍下该图,自动保存,图片格式可选 DM 和 Tiff 格式。如果需要改变记录速度或者图像质量,我们可以通过修改 View 模式里的参数。 使用步骤: (1) 按照上篇文章介绍的方法正确安装该 GTK 文件。 (2) 打开 CCD View 窗口,将其设为最当前窗口,然后打开该脚本,将出现下图界面。 (3) 然后设定图片保存位置和图片的命名方式, sample_name + Sample_Number ,脚本每拍一张图片后,数字都会自动加 1 。再选定图片格式, DM 或者 tiff 。 (4) 最后点击 Record 。如果 View 窗口在刷新的话,那么你会发现该脚本已经在自动记录这些图片。如果图像没有刷新的话,则不会记录。 (5) 记录完成后,需要用 shift 键来停止记录,然后再关掉该脚本对话框。下次再使用时,重新再打开该脚本。 脚本下载链接: Record_active_images.gtk
个人分类: Gatan产品|931 次阅读|0 个评论
shell 脚本使用自定义环境变量
liujd 2013-11-24 20:56
自定义环境变量方法: 1,var=xxx 2,export var=xxx 前者在shell脚本中不能引用到: $var为空 后者可以在shell脚本中引用到
个人分类: linux|1604 次阅读|0 个评论
shell脚本的运行过程
autodataming 2013-10-26 09:22
shell脚本运行的时候, 是先把脚本读入到内存中,然后再运行指令。 比如你有个脚本 在./temp/move.sh 你想把temp下所有的文件都移动到外面 它会把所有所有的文件包含move.sh都移动到外面,此时的move.sh仅仅是一个普通文件, 执行文件是在内存中。 路径是相对内存中文件的位置的
个人分类: shell|2866 次阅读|0 个评论
[转载]UNIX后台执行命令at命令与crontab
plgongcat 2013-10-18 20:33
UNIX学习笔记(六) 后台执行命令2 at命令 at命令可以设置在某时某刻做一件事情,这件事情可以是某个脚本或某个unix 命令。 下面的链接给你具体的介绍,有些内容我没有亲自尝试,不知道正确否。 详细介绍at: http://www.cnblogs.com/kevin-boy/archive/2011/08/05/2128748.html 详细介绍crontab与at: http://blog.csdn.net/galaft/article/details/6911181 参考: http://stackoverflow.com/questions/2282506/how-can-i-send-an-email-through-unix-mailx-command
个人分类: unix|2190 次阅读|0 个评论
[转载] sed 单行脚本快速参考 part 2
chenyuchen 2013-6-9 23:04
选择性地删除特定行:-------- # 显示通篇文档,除了两个正则表达式之间的内容 sed '/Iowa/,/Montana/d' # 删除文件中相邻的重复行(模拟“uniq”) # 只保留重复行中的第一行,其他行删除 sed '\$!N; /^\(.*\)\n\1$/!P; D' # 删除文件中的重复行,不管有无相邻。注意hold space所能支持的缓存 # 大小,或者使用GNU sed。 sed -n 'G; s/\n//; /^\( *\n\).*\n\1/d; s/\n//; h; P' # 删除除重复行外的所有行(模拟“uniq -d”) sed '\$!N; s/^\(.*\)\n\1$/\1/; t; D' # 删除文件中开头的10行 sed '1,10d' # 删除文件中的最后一行 sed '$d' # 删除文件中的最后两行 sed 'N;$!P;$!D;$d' # 删除文件中的最后10行 sed -e :a -e '$d;N;2,10ba' -e 'P;D' # 方法1 sed -n -e :a -e '1,10!{P;N;D;};N;ba' # 方法2 # 删除8的倍数行 gsed '0~8d' # 只对GNU sed有效 sed 'n;n;n;n;n;n;n;d;' # 其他sed # 删除匹配式样的行 sed '/pattern/d' # 删除含pattern的行。当然pattern # 可以换成任何有效的正则表达式 # 删除文件中的所有空行(与“grep '.' ”效果相同) sed '/^$/d' # 方法1 sed '/./!d' # 方法2 # 只保留多个相邻空行的第一行。并且删除文件顶部和尾部的空行。 # (模拟“cat -s”) sed '/./,/^$/!d' #方法1,删除文件顶部的空行,允许尾部保留一空行 sed '/^$/N;/\n$/D' #方法2,允许顶部保留一空行,尾部不留空行 # 只保留多个相邻空行的前两行。 sed '/^$/N;/\n$/N;//D' # 删除文件顶部的所有空行 sed '/./,$!d' # 删除文件尾部的所有空行 sed -e :a -e '/^\n*$/{$d;N;ba' -e '}' # 对所有sed有效 sed -e :a -e '/^\n*$/N;/\n$/ba' # 同上,但只对 gsed 3.02.*有效 # 删除每个段落的最后一行 sed -n '/^$/{p;h;};/./{x;/./p;}' 特殊应用:-------- # 移除手册页(man page)中的nroff标记。在Unix System V或bash shell下使 # 用'echo'命令时可能需要加上 -e 选项。 sed s/.`echo \\\b`//g # 外层的双括号是必须的(Unix环境) sed 's/.^H//g' # 在bash或tcsh中, 按 Ctrl-V 再按 Ctrl-H sed 's/.\x08//g' # sed 1.5,GNU sed,ssed所使用的十六进制的表示方法 # 提取新闻组或 e-mail 的邮件头 sed '/^$/q' # 删除第一行空行后的所有内容 # 提取新闻组或 e-mail 的正文部分 sed '1,/^$/d' # 删除第一行空行之前的所有内容 # 从邮件头提取“Subject”(标题栏字段),并移除开头的“Subject:”字样 sed '/^Subject: */!d; s///;q' # 从邮件头获得回复地址 sed '/^Reply-To:/q; /^From:/h; /./d;g;q' # 获取邮件地址。在上一个脚本所产生的那一行邮件头的基础上进一步的将非电邮 # 地址的部分剃除。(见上一脚本) sed 's/ *(.*)//; s/.*//; s/.* *//' # 在每一行开头加上一个尖括号和空格(引用信息) sed 's/^/ /' # 将每一行开头处的尖括号和空格删除(解除引用) sed 's/^ //' # 移除大部分的HTML标签(包括跨行标签) sed -e :a -e 's/ *//g;//N;//ba' # 将分成多卷的uuencode文件解码。移除文件头信息,只保留uuencode编码部分。 # 文件必须以特定顺序传给sed。下面第一种版本的脚本可以直接在命令行下输入; # 第二种版本则可以放入一个带执行权限的shell脚本中。(由Rahul Dhesi的一 # 个脚本修改而来。) sed '/^end/,/^begin/d' file1 file2 ... fileX | uudecode # vers. 1 sed '/^end/,/^begin/d' $@ | uudecode # vers. 2 # 将文件中的段落以字母顺序排序。段落间以(一行或多行)空行分隔。GNU sed使用 # 字元“\v”来表示垂直制表符,这里用它来作为换行符的占位符——当然你也可以 # 用其他未在文件中使用的字符来代替它。 sed '/./{H;d;};x;s/\n/={NL}=/g' file | sort | sed '1s/={NL}=//;s/={NL}=/\n/g' gsed '/./{H;d};x;y/\n/\v/' file | sort | sed '1s/\v//;y/\v/\n/' # 分别压缩每个.TXT文件,压缩后删除原来的文件并将压缩后的.ZIP文件 # 命名为与原来相同的名字(只是扩展名不同)。(DOS环境:“dir /b” # 显示不带路径的文件名)。 echo @echo off zipup.bat dir /b *.txt | sed s/^\(.*\)\.TXT/pkzip -mo \1 \1.TXT/ zipup.bat 使用SED:Sed接受一个或多个编辑命令,并且每读入一行后就依次应用这些命令。当读入第一行输入后,sed对其应用所有的命令,然后将结果输出。接着再读入第二行输入,对其应用所有的命令……并重复这个过程。上一个例子中sed由标准输入设备(即命令解释器,通常是以管道输入的形式)获得输入。在命令行给出一个或多个文件名作为参数时,这些文件取代标准输入设备成为sed的输入。sed的输出将被送到标准输出(显示器)。因此: cat filename | sed '10q' # 使用管道输入 sed '10q' filename # 同样效果,但不使用管道输入 sed '10q' filename newfile # 将输出转移(重定向)到磁盘上 要了解sed命令的使用说明,包括如何通过脚本文件(而非从命令行)来使用这些命令,请参阅《sed awk》第二版,作者Dale Dougherty和Arnold Robbins(O'Reilly,1997;http://www.ora.com),《UNIX Text Processing》,作者Dale Dougherty和Tim O'Reilly(Hayden Books,1987)或者是Mike Arst写的教程——压缩包的名称是“U-SEDIT2.ZIP”(在许多站点上都找得到)。要发掘sed的潜力,则必须对“正则表达式”有足够的理解。正则表达式的资料可以看《Mastering Regular Expressions》作者Jeffrey Friedl(O'reilly 1997)。Unix系统所提供的手册页(“man”)也会有所帮助(试一下这些命令“man sed”、“man regexp”,或者看“man ed”中关于正则表达式的部分),但手册提供的信息比较“抽象”——这也是它一直为人所诟病的。不过,它本来就不是用来教初学者如何使用sed或正则表达式的教材,而只是为那些熟悉这些工具的人提供的一些文本参考。 括号语法:前面的例子对sed命令基本上都使用单引号('...')而非双引号(...)这是因为sed通常是在Unix平台上使用。单引号下,Unix的shell(命令解释器)不会对美元符($)和后引号(`...`)进行解释和执行。而在双引号下美元符会被展开为变量或参数的值,后引号中的命令被执行并以输出的结果代替后引号中的内容。而在“csh”及其衍生的shell中使用感叹号(!)时需要在其前面加上转义用的反斜杠(就像这样:\!)以保证上面所使用的例子能正常运行(包括使用单引号的情况下)。DOS版本的Sed则一律使用双引号(...)而不是引号来圈起命令。 '\t'的用法:为了使本文保持行文简洁,我们在脚本中使用'\t'来表示一个制表符。但是现在大部分版本的sed还不能识别'\t'的简写方式,因此当在命令行中为脚本输入制表符时,你应该直接按TAB键来输入制表符而不是输入'\t'。下列的工具软件都支持'\t'做为一个正则表达式的字元来表示制表符:awk、perl、HHsed、sedmod以及GNU sed v3.02.80。 不同版本的SED:不同的版本间的sed会有些不同之处,可以想象它们之间在语法上会有差异。具体而言,它们中大部分不支持在编辑命令中间使用标签(:name)或分支命令(b,t),除非是放在那些的末尾。这篇文档中我们尽量选用了可移植性较高的语法,以使大多数版本的sed的用户都能使用这些脚本。不过GNU版本的sed允许使用更简洁的语法。想像一下当读者看到一个很长的命令时的心情: sed -e '/AAA/b' -e '/BBB/b' -e '/CCC/b' -e d 好消息是GNU sed能让命令更紧凑: sed '/AAA/b;/BBB/b;/CCC/b;d' # 甚至可以写成 sed '/AAA\|BBB\|CCC/b;d' 此外,请注意虽然许多版本的sed接受象“/one/ s/RE1/RE2/”这种在's'前带有空格的命令,但这些版本中有些却不接受这样的命令:“/one/! s/RE1/RE2/”。这时只需要把中间的空格去掉就行了。 速度优化:当由于某种原因(比如输入文件较大、处理器或硬盘较慢等)需要提高命令执行速度时,可以考虑在替换命令(“s/.../.../”)前面加上地址表达式来提高速度。举例来说: sed 's/foo/bar/g' filename # 标准替换命令 sed '/foo/ s/foo/bar/g' filename # 速度更快 sed '/foo/ s//bar/g' filename # 简写形式 当只需要显示文件的前面的部分或需要删除后面的内容时,可以在脚本中使用“q”命令(退出命令)。在处理大的文件时,这会节省大量时间。因此: sed -n '45,50p' filename # 显示第45到50行 sed -n '51q;45,50p' filename # 一样,但快得多 如果你有其他的单行脚本想与大家分享或者你发现了本文档中错误的地方,请发电子邮件给本文档的作者(Eric Pement)。邮件中请记得提供你所使用的sed版本、 该sed所运行的操作系统及对问题的适当描述。本文所指的单行脚本指命令行的长度在65个字符或65个以下的sed脚本〔译注1〕。本文档的各种脚本是由以下所列作者所写或提供: Al Aab # 建立了“seders”邮件列表 Edgar Allen # 许多方面 Yiorgos Adamopoulos # 许多方面 Dale Dougherty # 《sed awk》作者 Carlos Duarte # 《do it with sed》作者 Eric Pement # 本文档的作者 Ken Pizzini # GNU sed v3.02 的作者 S.G. Ravenhall # 去html标签脚本 Greg Ubben # 有诸多贡献并提供了许多帮助 ------------------------------------------------------------------------- 译注1:大部分情况下,sed脚本无论多长都能写成单行的形式(通过`-e'选项和`;'号)——只要命令解释器支持,所以这里说的单行脚本除了能写成一行还对长度有所限制。因为这些单行脚本的意义不在于它们是以单行的形式出现。而是让用户能方便地在命令行中使用这些紧凑的脚本才是其意义所在。
个人分类: 科研笔记|2268 次阅读|0 个评论
[转载] sed 单行脚本快速参考 part 1
chenyuchen 2013-6-9 22:15
转自: http://sed.sourceforge.net/sed1line_zh-CN.html SED单行脚本快速参考(Unix 流编辑器) 2005年12月29日 英文标题:USEFUL ONE-LINE SCRIPTS FOR SED (Unix stream editor) 原标题:HANDY ONE-LINERS FOR SED (Unix stream editor) 整理:Eric Pement - 电邮:pemente northpark edu 版本5.5译者:Joe Hong - 电邮:hq00e 126 com 在以下地址可找到本文档的最新(英文)版本: http://sed.sourceforge.net/sed1line.txt http://www.pement.org/sed/sed1line.txt 中文 - http://sed.sourceforge.net/sed1line_zh-CN.html 文本间隔: # 在每一行后面增加一空行 sed G # 将原来的所有空行删除并在每一行后面增加一空行。 # 这样在输出的文本中每一行后面将有且只有一空行。 sed '/^$/d;G' # 在每一行后面增加两行空行 sed 'G;G' # 将第一个脚本所产生的所有空行删除(即删除所有偶数行) sed 'n;d' # 在匹配式样“regex”的行之前插入一空行 sed '/regex/{x;p;x;}' # 在匹配式样“regex”的行之后插入一空行 sed '/regex/G' # 在匹配式样“regex”的行之前和之后各插入一空行 sed '/regex/{x;p;x;G;}' 编号: # 为文件中的每一行进行编号(简单的左对齐方式)。这里使用了“制表符” # (tab,见本文末尾关于'\t'的用法的描述)而不是空格来对齐边缘。 sed = filename | sed 'N;s/\n/\t/' # 对文件中的所有行编号(行号在左,文字右端对齐)。 sed = filename | sed 'N; s/^/ /; s/ *\(.\{6,\}\)\n/\1 /' # 对文件中的所有行编号,但只显示非空白行的行号。 sed '/./=' filename | sed '/./N; s/\n/ /' # 计算行数 (模拟 wc -l) sed -n '$=' 文本转换和替代: # Unix环境:转换DOS的新行符(CR/LF)为Unix格式。 sed 's/.$//' # 假设所有行以CR/LF结束 sed 's/^M$//' # 在bash/tcsh中,将按Ctrl-M改为按Ctrl-V sed 's/\x0D$//' # ssed、gsed 3.02.80,及更高版本 # Unix环境:转换Unix的新行符(LF)为DOS格式。 sed s/$/`echo -e \\\r`/ # 在ksh下所使用的命令 sed 's/$'/`echo \\\r`/ # 在bash下所使用的命令 sed s/$/`echo \\\r`/ # 在zsh下所使用的命令 sed 's/$/\r/' # gsed 3.02.80 及更高版本 # DOS环境:转换Unix新行符(LF)为DOS格式。 sed s/$// # 方法 1 sed -n p # 方法 2 # DOS环境:转换DOS新行符(CR/LF)为Unix格式。 # 下面的脚本只对UnxUtils sed 4.0.7 及更高版本有效。要识别UnxUtils版本的 # sed可以通过其特有的“--text”选项。你可以使用帮助选项(“--help”)看 # 其中有无一个“--text”项以此来判断所使用的是否是UnxUtils版本。其它DOS # 版本的的sed则无法进行这一转换。但可以用“tr”来实现这一转换。 sed s/\r// infile outfile # UnxUtils sed v4.0.7 或更高版本 tr -d \r infile outfile # GNU tr 1.22 或更高版本 # 将每一行前导的“空白字符”(空格,制表符)删除 # 使之左对齐 sed 's/^ *//' # 见本文末尾关于'\t'用法的描述 # 将每一行拖尾的“空白字符”(空格,制表符)删除 sed 's/ *$//' # 见本文末尾关于'\t'用法的描述 # 将每一行中的前导和拖尾的空白字符删除 sed 's/^ *//;s/ *$//' # 在每一行开头处插入5个空格(使全文向右移动5个字符的位置) sed 's/^/ /' # 以79个字符为宽度,将所有文本右对齐 sed -e :a -e 's/^.\{1,78\}$/ /;ta' # 78个字符外加最后的一个空格 # 以79个字符为宽度,使所有文本居中。在方法1中,为了让文本居中每一行的前 # 头和后头都填充了空格。 在方法2中,在居中文本的过程中只在文本的前面填充 # 空格,并且最终这些空格将有一半会被删除。此外每一行的后头并未填充空格。 sed -e :a -e 's/^.\{1,77\}$/ /;ta' # 方法1 sed -e :a -e 's/^.\{1,77\}$/ /;ta' -e 's/\( *\)\1/\1/' # 方法2 # 在每一行中查找字串“foo”,并将找到的“foo”替换为“bar” sed 's/foo/bar/' # 只替换每一行中的第一个“foo”字串 sed 's/foo/bar/4' # 只替换每一行中的第四个“foo”字串 sed 's/foo/bar/g' # 将每一行中的所有“foo”都换成“bar” sed 's/\(.*\)foo\(.*foo\)/\1bar\2/' # 替换倒数第二个“foo” sed 's/\(.*\)foo/\1bar/' # 替换最后一个“foo” # 只在行中出现字串“baz”的情况下将“foo”替换成“bar” sed '/baz/s/foo/bar/g' # 将“foo”替换成“bar”,并且只在行中未出现字串“baz”的情况下替换 sed '/baz/!s/foo/bar/g' # 不管是“scarlet”“ruby”还是“puce”,一律换成“red” sed 's/scarlet/red/g;s/ruby/red/g;s/puce/red/g' #对多数的sed都有效 gsed 's/scarlet\|ruby\|puce/red/g' # 只对GNU sed有效 # 倒置所有行,第一行成为最后一行,依次类推(模拟“tac”)。 # 由于某些原因,使用下面命令时HHsed v1.5会将文件中的空行删除 sed '1!G;h;$!d' # 方法1 sed -n '1!G;h;$p' # 方法2 # 将行中的字符逆序排列,第一个字成为最后一字,……(模拟“rev”) sed '/\n/!G;s/\(.\)\(.*\n\)/\2\1/;//D;s/.//' # 将每两行连接成一行(类似“paste”) sed '$!N;s/\n/ /' # 如果当前行以反斜杠“\”结束,则将下一行并到当前行末尾 # 并去掉原来行尾的反斜杠 sed -e :a -e '/\\$/N; s/\\\n//; ta' # 如果当前行以等号开头,将当前行并到上一行末尾 # 并以单个空格代替原来行头的“=” sed -e :a -e '$!N;s/\n=/ /;ta' -e 'P;D' # 为数字字串增加逗号分隔符号,将“1234567”改为“1,234,567” gsed ':a;s/\B \{3\}\/,/;ta' # GNU sed sed -e :a -e 's/\(.* \)\( \{3\}\)/\1,\2/;ta' # 其他sed # 为带有小数点和负号的数值增加逗号分隔符(GNU sed) gsed -r ':a;s/(^| )( +)( {3})/\1\2,\3/g;ta' # 在每5行后增加一空白行 (在第5,10,15,20,等行后增加一空白行) gsed '0~5G' # 只对GNU sed有效 sed 'n;n;n;n;G;' # 其他sed 选择性地显示特定行:-------- # 显示文件中的前10行 (模拟“head”的行为) sed 10q # 显示文件中的第一行 (模拟“head -1”命令) sed q # 显示文件中的最后10行 (模拟“tail”) sed -e :a -e '$q;N;11,$D;ba' # 显示文件中的最后2行(模拟“tail -2”命令) sed '$!N;$!D' # 显示文件中的最后一行(模拟“tail -1”) sed '$!d' # 方法1 sed -n '$p' # 方法2 # 显示文件中的倒数第二行 sed -e '$!{h;d;}' -e x # 当文件中只有一行时,输入空行 sed -e '1{\$q;}' -e '$!{h;d;}' -e x # 当文件中只有一行时,显示该行 sed -e '1{\$d;}' -e '$!{h;d;}' -e x # 当文件中只有一行时,不输出 # 只显示匹配正则表达式的行(模拟“grep”) sed -n '/regexp/p' # 方法1 sed '/regexp/!d' # 方法2 # 只显示“不”匹配正则表达式的行(模拟“grep -v”) sed -n '/regexp/!p' # 方法1,与前面的命令相对应 sed '/regexp/d' # 方法2,类似的语法 # 查找“regexp”并将匹配行的上一行显示出来,但并不显示匹配行 sed -n '/regexp/{g;1!p;};h' # 查找“regexp”并将匹配行的下一行显示出来,但并不显示匹配行 sed -n '/regexp/{n;p;}' # 显示包含“regexp”的行及其前后行,并在第一行之前加上“regexp”所 # 在行的行号 (类似“grep -A1 -B1”) sed -n -e '/regexp/{=;x;1!p;g;$!N;p;D;}' -e h # 显示包含“AAA”、“BBB”或“CCC”的行(任意次序) sed '/AAA/!d; /BBB/!d; /CCC/!d' # 字串的次序不影响结果 # 显示包含“AAA”、“BBB”和“CCC”的行(固定次序) sed '/AAA.*BBB.*CCC/!d' # 显示包含“AAA”“BBB”或“CCC”的行 (模拟“egrep”) sed -e '/AAA/b' -e '/BBB/b' -e '/CCC/b' -e d # 多数sed gsed '/AAA\|BBB\|CCC/!d' # 对GNU sed有效 # 显示包含“AAA”的段落 (段落间以空行分隔) # HHsed v1.5 必须在“x;”后加入“G;”,接下来的3个脚本都是这样 sed -e '/./{H;$!d;}' -e 'x;/AAA/!d;' # 显示包含“AAA”“BBB”和“CCC”三个字串的段落 (任意次序) sed -e '/./{H;$!d;}' -e 'x;/AAA/!d;/BBB/!d;/CCC/!d' # 显示包含“AAA”、“BBB”、“CCC”三者中任一字串的段落 (任意次序) sed -e '/./{H;$!d;}' -e 'x;/AAA/b' -e '/BBB/b' -e '/CCC/b' -e d gsed '/./{H;$!d;};x;/AAA\|BBB\|CCC/b;d' # 只对GNU sed有效 # 显示包含65个或以上字符的行 sed -n '/^.\{65\}/p' # 显示包含65个以下字符的行 sed -n '/^.\{65\}/!p' # 方法1,与上面的脚本相对应 sed '/^.\{65\}/d' # 方法2,更简便一点的方法 # 显示部分文本——从包含正则表达式的行开始到最后一行结束 sed -n '/regexp/,$p' # 显示部分文本——指定行号范围(从第8至第12行,含8和12行) sed -n '8,12p' # 方法1 sed '8,12!d' # 方法2 # 显示第52行 sed -n '52p' # 方法1 sed '52!d' # 方法2 sed '52q;d' # 方法3, 处理大文件时更有效率 # 从第3行开始,每7行显示一次 gsed -n '3~7p' # 只对GNU sed有效 sed -n '3,${p;n;n;n;n;n;n;}' # 其他sed # 显示两个正则表达式之间的文本(包含) sed -n '/Iowa/,/Montana/p' # 区分大小写方式
个人分类: 科研笔记|2455 次阅读|0 个评论
小学生科普动漫脚本16 空气在压着我
热度 1 zhangjiuqing 2013-4-5 21:57
小学生 科普动漫脚本 16 空气在压着我 第一场 【室内,白天】 乐乐:我们老师说,空气没有颜色,没有味道,却有重量。 欢欢:老师说得没有错。 乐乐:我不信,要是空气有重量,我怎么感觉不到。 欢欢:我们来做一个实验。你去找两个气球来。 乐乐找来几个气球,并给气球打气。 乐乐:气球瘪瘪的,我给气球打上了气。 欢欢用细绳将一根细棍吊起来。 欢欢:乐乐,你把气球挂在细棍的两端。细棍不平衡,你动一动气球。 乐乐移动气球。 乐乐:好了,现在细棍两端一样高了。 欢欢:这说明细杆平衡了。你在一端的气球上放上空气球。 乐乐:放气球的一端向下,另一端就往上翘。 欢欢:那是因为放气球的端变重了,也就是另一端显得轻了,对不对? 乐乐:当然对呀。 欢欢:现在,你去找一根缝衣针在其中的一个气球扎一个眼儿。 乐乐:好好的气球,我才不愿意扎破了。 欢欢:我们是在做科学实验,总要用掉一些材料的,别舍不得。 乐乐找来一根缝衣针,不情愿地找破了气球。气球噗噗漏气。 乐乐:啊,气球漏气的一端上升了。 欢欢:乐乐,这说明了什么呢? 乐乐:这说明漏气的一端比没漏气的一端轻,对不对? 欢欢:你真聪明。那是因为空气有重量,气球里的空气漏掉后,这一端就变轻了。 陶陶进来了。 陶陶:你们在干什么呢。 乐乐:欢欢在给我讲大气压力呢。 陶陶:什么大气压力呀。走走走,咱们出去玩吧。 第二场 【室外,白天,晴】 乐乐:我们老师还说,空气没有颜色,没有味道,却有压力。 欢欢:老师说得没有错。 乐乐:我不信,要是空气有压力,早把我们人都压扁了。 陶陶:乐乐,我们来给欢欢压力,看有压力能不能把他压扁。 乐乐和陶陶要把欢欢挤在中间,乐乐躲开了。 欢欢:旁边有一个修车铺,那里有打气筒。你去把打气筒借来。 乐乐借来了打气筒。 欢欢:你抽动手柄。 乐乐很容易地抽动了几下手柄。 欢欢:现在我把气嘴堵住。你再打气试试看? 乐乐:啊,打气好费力。 陶陶:我力气大,我就不信打不进去气。 陶陶使劲手柄也压不下去。 欢欢:现在你把手柄松开。 乐乐:手柄弹回去了。 欢欢:那是大气压力把手柄推上去的。 陶陶:我们每天都在大气中,为什么大气没有把我们推来推去? 欢欢:我们身体各个部分受的大气压力都是一样的,这叫受力平衡,所以感受不到。 乐乐:受力不平衡就能感受到大气压力? 欢欢:你在大风中走路,风就给你一个不平衡的力,你顺风走大气在后面给你一个推力;你逆风走大气在前面给你一个推力。 乐乐:我喜欢在有风的时候放风筝。 陶陶:管它顺风逆风,我喜欢在风中倒退着走路。 第三场 【室外,白天,晴】 欢欢:现在,我再给你们 表演一个魔术。 陶陶:是不是又是一个关于大气压力的实验? 乐乐:我最喜欢看魔术了。 欢欢:你去找一个空塑料瓶子来。 欢欢从修车铺找来铁钉,在瓶子底扎了几个小孔 。 欢欢:那儿有个水龙头,陶陶,你用瓶子去装水 。 陶陶:看这瓶子变成喷壶,水从瓶底漏出来来啦。 欢欢 : 我有魔法,能让水不漏。 陶陶、乐乐 : 我们 不信。 欢欢再将瓶子装上水,把瓶子拿过来,可是水一点也没有流出来。 欢欢(假装作魔法):瓶子瓶子,漏水吧。 水就从瓶底露出来 欢欢:瓶子瓶子,别漏水。 瓶底不再漏水了。 陶陶、乐乐 :哇!太神奇了! 欢欢:不是我神奇,这是大气压力的神奇。我把瓶口敞开,空气不断从瓶口进入瓶子里,瓶子里的空气将水向外挤压,水从小孔流出。 乐乐:你将瓶口堵住,空气憋在瓶子里,失去了对水的挤压力,水就不能从小孔流出来了,对不对? 欢欢:乐乐。你真聪明,会推理啦。 乐乐:谢谢夸奖。 陶陶:瓶底都是很小的孔。要是瓶底的孔大一些,你还能玩这个魔术吗? 欢欢:陶陶,你也很聪明,会提问题了。瓶底孔大了,这个魔术就无法表演了。 陶陶、乐乐:我也要来玩这个魔术。 第四场 【室内,白天】 欢欢、乐乐回到家中。 乐乐:外面好热呀。我要喝冰凉的汽水。 乐乐打开冰箱,拿出一个空瓶子。 乐乐:咦,谁把汽水喝完了,留下了一个空瓶子?欢欢,一定是你吧。 欢欢:快把空瓶子给我,我给你做一个魔术。 欢欢拿出一个硬币,用硬币完全盖住瓶口。 乐乐:你往瓶口放硬币干什么?是不是又玩魔术呢? 欢欢:一会儿我给瓶子发力,硬币就会在瓶口跳舞。 乐乐:硬币真的在瓶口一蹦一蹦的呢。 欢欢:那就是我的魔法。 乐乐:我才不信了,肯定又是大气在作怪。 欢欢:你说对了。瓶子里好像是空的,其实里面装满了空气。 乐乐:瓶子也没有动,硬币怎么会动呢? 欢欢:瓶子里原来装的是冷空气,瓶子拿到外面后,里面的冷空气被加热膨胀,膨胀的空气用力往外冒,就顶起了硬币,硬币就跳起舞来了。 乐乐:空气真的很神奇无比呀。欢欢,你还有什么空气压力魔术,再给我变一变。 欢欢说:我没有魔术了,我得去翻翻书,看看书上怎么说的。 乐乐:原来你也是学来的,我还以为自己会呢。 第五场 【室内,白天】 爸爸回到家中。 爸爸:你们在家里玩得很开心吧。 乐乐:今天欢欢给我做了几个空气压力的魔术。我还想看魔术,爸爸,快给我们做一个吧。 爸爸:空气压力魔术?这还不简单?你们去厨房,拿一个土豆来,拿几根喝饮料的那种塑料吸管来。 乐乐和欢欢拿来了土豆和吸管。 爸爸:你们拿吸管去戳土豆,看看能不能把吸管戳进土豆里。 欢欢拿着吸管猛戳土豆,吸管弯了。 欢欢:吸管这么软,怎么能戳进土豆里。 乐乐拿着吸管猛戳土豆,吸管也弯了。 乐乐:欢欢戳不进去,我也戳不进去。 爸爸拿着吸管,在空中挥舞了几下,大声说“我有魔力,我有魔力”,猛地一戳,把吸管戳进了土豆。 乐乐:爸爸真了不起,真的有魔力呀。 欢欢:我看到了,我们戳的时候,吸管上面是开着口的。爸爸戳的时候,用大拇指把吸管上面的口堵住了。 爸爸:欢欢观察得很仔细。吸管的空气被封住后,再受到挤压就会把吸管变强硬而不会弯曲。 乐乐:吸管就变成大力士,对不对。 爸爸:吸管戳进土豆后,吸管里面的空气还要被压缩。 欢欢:这个时候空气的压力还会增加,你的大拇指就得用更大的劲来按住吸管的口,对不对? 爸爸:你们真棒,都会分析问题了。 欢欢、乐乐拿着吸管,不停地练习这个魔术。 本脚本关键词:空气的压强
个人分类: 科普|3793 次阅读|1 个评论
小学生科普动漫脚本之15 给我力我就动
zhangjiuqing 2013-4-5 21:56
小学生科普动漫脚本之 15 给我力我就动 第一场 【室内,白天】 欢欢坐在椅子上看书。 乐乐:欢欢,看了这么久的书,该出去玩了。 欢欢:我正在看有关力和运动关系的科普书。 乐乐:力和运动关系? 欢欢:书里有三张图,你来看一看就明白了。 乐乐:第一张图上,一只青蛙一动不动地趴在睡莲叶子上。 欢欢:没有外力,青蛙就会这样一直待着。 乐乐:要是有人捅一下睡莲,青蛙就会动来动去。 欢欢:青蛙自己并没有动,只是随着睡莲在动。 乐乐:第二张图,这只青蛙跳向了空中。 欢欢:那是因为青蛙的腿部肌肉给青蛙了一个向前的力。 乐乐:腿部肌肉?我坐着,腿部肌肉一用劲,就能站起来,对不对? 乐乐不停地把腿伸来伸去。 欢欢:你说得太对了,真聪明。别蹬着我了。 乐乐:第三张图,睡莲叶子向后退了。 欢欢:那是因为青蛙腿给了睡莲一个向后的力。 乐乐:我站起来的时候,是不是也给地了一个力? 欢欢:对呀,怎么啦。 欢欢不停地使劲蹬地。 乐乐:可是地一点也没有动呀。 欢欢:那是地球太重了,你那点力还想蹬动地球?你只能蹬动气球。 乐乐:书看完了,我,我们该出去了吧。 欢欢:我坐在这里,你不来拉我或者推我,我自己腿上的肌肉也不用力,我就不会离开椅子。这是惯性定律。 乐乐:我看你这不是惯性,而是惰性,懒惰的性格。 欢欢:不喜欢看书才是你的惰性,不,也是你的惯性。如果没有人来催你或者管你,你是不会看书的。 乐乐使劲拉欢欢。 欢欢不走,继续读书。 第二场 【室内,白天】 陶陶推门进来。 乐乐:陶陶,你来得正好。 欢欢:门原来是关着的。陶陶,你给了门一个力,门就改变了状态,从关着变成开着。 陶陶(迷惑地):欢欢,什么改变状态? 陶陶又把门推上了。 欢欢:门原来是开着的。陶陶,你又给了门一个力,门就改变了状态,从开着变成关着。 陶陶(更加迷惑地):欢欢,什么状态改变?你今天怎么啦? 乐乐:欢欢在研究力呢。他一着迷就神叨叨的。 陶陶:我这么有力气,你研究我好了。 欢欢:我不是研究你有没有力气,我是研究你是否用力,是否改变了状态。 陶陶:什么叫改变状态呀? 欢欢:比如你从坐着变为站着,就是改变状态。你从站着不动到走动,就是改变状态。 陶陶:你从我家到你家也是改变状态,对不对。 欢欢:对呀,你走路也用了力。 乐乐:陶陶,你别跟欢欢聊科学了,快来改变欢欢的状态吧。 陶陶:你是说,把欢欢从待在家里读书改变为到外面去玩, 乐乐:对呀。我一天都没有出去玩了。 陶陶:你一个人也可以用力,改变欢欢的状态。 乐乐:快来呀,和我一起拉欢欢,我一个人拉不动。 欢欢:我越重,我的惯性就越大。你要改变我的状态,就得花更大的力。 陶陶、乐乐一起拉欢欢。 欢欢:你们给了我一个足够大的力,我就改变了原来的状态,从坐着变成站着。 乐乐、陶陶(把欢欢往外推):改变状态啦,我们出去玩啦。 第三场 【室外,白天,晴】 乐乐、陶陶继续推着欢欢走。 欢欢:你们给我推力,我就开始运动。你们的推力越大,我就运动得越快。 乐乐:陶陶,都出来了,我们不用再推欢欢了。 欢欢:要是地面没有摩擦力,你们不再推我,我也能保持运动的状态。 乐乐:我可不听你谈论什么力呀状态呀什么的了,我拍球玩。 乐乐高兴地拍着皮球。 陶陶踢足球去了。 欢欢站在乐乐的旁边看。 欢欢:乐乐,你给皮球一个力,皮球就向下运动。 乐乐:我不给皮球用力,皮球也向下运动。 欢欢:那是皮球有重力。 乐乐:我没给皮球用力,皮球也能向上运动。 欢欢:那是皮球先给地面一个向下的力,地面再给皮球了一个向上的力。这叫作用力与发作用力。 乐乐:欢欢,别说了,说得我忘了拍皮球,皮球都停下来了。你在这力唠叨,就是起反作用。 欢欢:把皮球给我,我也来拍几下。 乐乐不情愿地把球给了欢欢。 欢欢(一边拍皮球一边说):乐乐,你看,我拍皮球用的力越大,皮球得到的反作用力也越大,皮球反弹得也越高。我拍皮球越快,皮球也反弹得越快。 乐乐:欢欢,快把球还给我。你还是过去跟陶陶一起踢足球吧。 欢欢走开了。 乐乐(拍一下说一下):作用力,反作用力。作用力,反作用力。作用力,反作用力。 第四场 【室外,白天,晴】 欢欢:陶陶,给足球一个力,把球踢给我。 陶陶把球踢给欢欢。 欢欢没有挡住足球,足球飞过欢欢的脚边。 欢欢:我的脚没有给运动的足球施加阻力,足球就不会停在我脚边。 陶陶:欢欢,别说了,快去把球踢回来罢。 欢欢跑过去。 欢欢:还好,地面给了足球阻力,不然足球会一直滚下去,我可就很难追上球了。 欢欢把球踢向了陶陶。 足球碰到石块变了方向。 欢欢:足球在运动途中受到了阻碍它的力,改变了运动方向。 欢欢跑过去,重新把球踢给陶陶。 陶陶熟练地把球停下。 陶陶:你接球的时候,稍微向后缩一下,使得球碰脚的时间延长,脚受的力小,就不会受伤。 欢欢:你没学科学,也懂力和运动的关系呀。 陶陶:我天天练习后总结出来的。 陶陶把足球踢给欢欢。 乐乐的皮球滚了过来。 皮球滚到欢欢的脚下,把爬动中的欢欢绊了一下,欢欢摔倒了。 第五场 【室外,白天,晴】 欢欢爬起来坐在石凳上。 乐乐抱着皮球走过来。 乐乐:你摔伤了吗,痛不痛?对不起,我的皮球把你绊倒了。 欢欢:一点小伤,算不了什么。这不是你的错,那是因为我有惯性。脚下被绊住突然不运动,其他部位仍然保持运动的状态,所以就摔倒了。 乐乐:你都受伤了,还在讲科学道理。 欢欢:这是我的惯性。 陶陶抱着足球走过来。 陶陶:你没有摔伤吧,不痛吧?对不起,我不该用大力,把球踢得飞那么快。 欢欢:一点小伤,算不了什么。这不是你的错。我缺乏练习,没能够用力改变足球的运动状态,把球停下来,害得你还要去捡球。 陶陶:你都受伤了,还在讲科学道理。 欢欢:这是我的惯性。 乐乐和陶陶一起笑起来。 欢欢:你们笑,是因为口腔肌肉用了力。 乐乐和陶陶突然抿住嘴不笑。 欢欢:你们从笑的状态改变为不笑的状态,口腔肌肉也用了力。 乐乐、陶陶憋不住了,大笑起来。 欢欢也和大家一起大笑。 本脚本关键词:力与运动
3333 次阅读|0 个评论
小学生科普动漫脚本之14 我们来种菜吧
zhangjiuqing 2013-4-5 21:54
小学生科普动漫脚本 之 14 我们来种菜吧 第一场 【室外,白天,晴】 欢欢、乐乐和陶陶来到一片菜地的旁边。 菜地边上竖有一块牌子:兔子菜园。 欢欢:这儿的青菜长得青青的。(唱) 菠菜 青青 芹菜 青, 豆角青青 挂满藤。西红柿红苋菜红,辣椒杆上挂灯笼。 乐乐:这儿的萝卜长得大大的。(唱) 拔萝卜拔萝卜,哎哟哎哟拔萝卜,哎哟哎哟 拔 不动 ,大家快来拔萝卜。 陶陶:这儿的菜花开得黄黄的。(念绕口令)黄菜花,粉菜花,黄粉菜花飞蝴蝶。黄蝴蝶飞上粉菜花,粉蝴蝶飞上黄菜花。 乐乐:你们看,兔子在浇水。 欢欢:蔬菜生长需要水,没有水菜就会死掉 陶陶:你们看,兔子在拔草。 欢欢:杂草和菜抢营养,杂草太多蔬菜就长不好。 他们走到兔子身边。 乐乐:兔子低着头地里在干什么呀? 陶陶:兔子一定是在菜地里找宝,对吗? 欢欢:兔子在捉虫子呢。 乐乐、陶陶:为什么要捉虫子呢? 欢欢:这都不懂,因为虫子是害虫,要吃蔬菜呀。 乐乐:要是我们有一片自己的菜地就好了。 陶陶:种菜一定很好玩。我也想去种菜。 欢欢:种菜不光是好玩,是要很多学问的,也要付出辛劳的。 乐乐、陶陶:走啦走啦,我们去找地种菜吧。 欢欢:别急着走呀,我还没有给你们讲完呢。 第二场 【室外,白天,晴】 欢欢、乐乐和陶陶跑到了屋后。 欢欢:快来看,这儿有一块空地方。 陶陶:这儿好凉快呀。 乐乐:我们可以在这儿种菜呀。 陶陶:可是,这么一点土都没有呀。 欢欢:种菜没有土当然不行。 乐乐:没见过石头上会长花草。 欢欢:我们可以到别的地方,把土运到这儿来呀。 乐乐:走吧,大家去搬土吧。 欢欢用塑料袋装来土倒在这里。 乐乐用塑料袋装来土倒在这里。 陶陶用塑料袋装来土倒在这里。 欢欢:陶陶,你拉的不是土,而是沙。 乐乐:陶陶偷懒,好土在远的地方才有。 欢欢:沙里的营养太少,水在沙里也留不下来,沙不适合种菜。 乐乐:难怪沙漠里什么也不长呢。 陶陶:对不起,我错了。 欢欢:土里有烂叶子、死虫子, 疏松透气, 不结团,最好里面还有蚯蚓,就是种菜的好土。陶陶: 我会去运好土的。出发啦。 欢欢、乐乐和陶陶一起出发。 第三场 【室外,白天,晴】 乐乐:现在,种菜的土够多了。 陶陶:我们来种菜吧。可是,我们种什么呢? 欢欢:别急,我们先来把土弄平整。陶陶,你去搬一些砖头来。 陶陶:为什么要搬砖头呢? 欢欢:我们要用砖头把土围起来,这样浇水或者下雨的时候,水就不会把土带走。 乐乐:我知道,水的力量很大。下大雨的时候,大水会把上坡上的土石都冲下来。 陶陶搬来几块砖头。 欢欢和乐乐用砖头把地围起来。 欢欢:下小雨的时候,砖头也能帮助泥土把水留下来。不然,我们需要自己浇更多的水。 陶陶:种菜还要浇很多的水吗? 乐乐:动物植物都离不开水。 欢欢:水是蔬菜的主要成分。蔬菜里的水主要通过叶子蒸发到大气中,蒸发掉的水要得到补充,才能保持蔬菜中水的平衡。 乐乐:没有了水,蔬菜的叶子就干枯。 欢欢:干枯的叶子无法进行光合作用,蔬菜的生长就没有营养,蔬菜就会死掉。 陶陶:种菜后还要天天浇水,多累呀。 欢欢:以后我们轮流浇水,就不累了。 乐乐:今天,我先浇水,明天是欢欢,后天是陶陶,都记住了吧。 欢欢:今天需要的水多,我们一起来浇水吧。 欢欢、乐乐和陶陶提来水桶,给土浇水。 第四场 【室外,白天,晴】 陶陶:地也平整好了,水也浇了。现在该种菜了吧。 乐乐:种萝卜吧。种完萝卜拔萝卜,多好玩呀。(唱歌)拔萝卜,拔萝卜,大家快来拔萝卜。 欢欢:等等。这里怎么这么凉快呢。 乐乐:这里前面是房子,后面是墙,挡住了太阳,当然凉快啦。 陶陶:种菜的时候晒不着我们,不是很好嘛? 欢欢:可是,这就是最大的问题。 乐乐:问题?我们不能在这儿种地? 陶陶:有人会来抢我们的地?我可饶不了它。 欢欢:你们想想,离开了太阳,蔬菜还会长好吗? 乐乐:我知道,万物生长靠太阳。向日葵生长的时候,跟着太阳转,就是因为离不开太阳。 陶陶:这里也不是漆黑一片,光线也是有的,蔬菜照样能长。 乐乐:没有了阳光,也就没有了光合作用,蔬菜无法生长。 欢欢:大家都说得不错,太阳光不能直接照射到这里,蔬菜会长得慢一些。好在我们还没有播种,再看看有没有其他空闲的地方,阳光会照射得多一些。 陶陶:你是说如果找到了新地方,我们再把土运过去。 乐乐:那当然啦,不然怎么会种出拔不动的大萝卜呢。 陶陶:要搬运你们搬运,我已很累了。 欢欢:乐乐,咱们走吧,去找找新的地。 欢欢和乐乐一起走开。 陶陶犹豫了一会,跟在后面:等等我。 第五场 【室外,白天,晴】 他们到了一个地方。 欢欢:这儿有羊,会偷偷把蔬菜吃了。 他们换了一个地方。 乐乐:这儿的杂草太多了。 他们又换了一个地方。 陶陶:这儿离家太远了。 欢欢:看来要找一个好的菜地不容易呀。 陶陶:这下好了,我们不用再搬运土了。 大家一起回到了原来那块地。 欢欢:你们看,太阳转过来了,可以照到半天。 乐乐:我们快去找萝卜来种吧。 陶陶:不能只种萝卜,还要种玉米小麦苹果梨。 欢欢:哪能种那么多东西。一块地种的东西太多,就什么都长不好。 乐乐:菜种好了还需要除草。 陶陶:最重要的不让别人偷菜。 大家在播种。 陶陶(念绕口令):黄菜花,粉菜花,黄粉菜花飞蝴蝶。黄蝴蝶飞上粉菜花,粉蝴蝶飞上黄菜花。 大家在浇水。 乐乐(唱): 拔萝卜拔萝卜,哎哟哎哟拔萝卜,哎哟哎哟 拔 不动 ,大家快来拔萝卜。 大家在除草。 欢欢(唱): 菠菜 青青 芹菜 青, 豆角青青 挂满藤。西红柿红苋菜红,辣椒杆上挂灯笼。 大家在捉虫子。 萝卜从土里长出来。 青菜从土里长出来。 油菜从地里长出来。 本脚本关键词:植物生长的条件
3758 次阅读|0 个评论
小学生科普动漫剧本之7 大家来玩影子游戏
zhangjiuqing 2013-2-13 14:29
第一场【室外,夜】 夜晚,天上星光闪烁。 路灯照亮路面。 欢欢、乐乐和爸爸妈妈手牵着手走着。 欢欢:乐乐,你看我们的影子。 乐乐:越 往前走,我们的 影子在我们的前面。 妈妈:对呀,我们的影子也越来越短。 爸爸:我们有影子,因为路灯的光在我们后面,我们的身体挡住了光线。 乐乐:爸爸,是不是影子总会在我们的前面? 爸爸:你看,你前面没有影子。你回头看看。 欢欢、乐乐同时回头。 乐乐:原来影子跑在我们后面去了。 爸爸:那是因为我们的身体挡住了前面的光线。 乐乐:现在我们没有影子了。 欢欢:我们站在两盏路灯中间,两边路灯都能照着我们,所以没有影子了。 爸爸:欢欢真聪明。 乐乐:现在我站在了妈妈的前面,爸爸挡住了照在我身上的光线,爸爸的影子那么大,把我的影子也盖住了。 妈妈:乐乐真聪明。 欢欢:要是光线能拐弯,我们就没有影子了。 第三场【室内,夜】 大家在一起聊天。 突然停电了,房内一片漆黑。 妈妈点亮一根蜡烛 放在桌子上。 桌子上有一个口香糖盒子。 欢欢: 你看,这个口香糖盒子的影子好大呀。 乐乐: 要是多点几根蜡烛就好了。 妈妈:那样会浪费蜡烛的。 爸爸(微笑着):试试看吧,也许能有一些新的发现呢。 乐乐又在旁边 点燃 了一 支蜡烛,形成 了 两个相叠而不重合的影子。 欢欢: 两 个 影 子重在一起的 部分完全没有光线射到,是全黑的 。 只有一支蜡烛可照到的地方, 影子 是半明半暗的。 乐乐: 如果 再 点燃 几 支蜡烛 呢? 爸爸:再试试看。 乐乐又点燃了几支蜡烛。 乐乐: 全黑的部分越来越小,半明半暗部分 也越来越浅了 。 乐乐还要去点蜡烛,被欢欢制止了。 欢欢: 如果我们在 盒子 周围点上一圈蜡烛,所有影子都不见了。 爸爸:欢欢,你说得对,看来你会推理了。 科学家就是这样制成手术用的无影灯。 欢欢、乐乐:无影灯?什么无影灯? 爸爸:无影灯就是不产生影子的灯。医院手术室都有无影灯。 欢欢:要是医生做手术时被影子挡住了光,就做不好手术了。 乐乐:做不好手术,就治不好病。 爸爸:科学家 将发光强度很大的灯在灯盘上排列成圆形,合成一个大面积的光源。这样,就能从不同角度把光线照射到手术台上,既保证手术视野有足够的亮度,同时不产生黑影。 欢欢、乐乐:科学家真了不起呀。 第三场【室内,夜】 欢欢、乐乐:没有电真不方便。 爸爸:难得没有电的时候,正好我们可以来玩 手影游戏 。 你 们 往墙上看。 爸爸做手势,墙上出现一个蝴蝶影子。 乐乐:这是 蝴蝶 。 爸爸做手势,墙上出现一个白兔影子。 欢欢:这是 小白兔 。 爸爸做手势,墙上出现一个老虎影子。 妈妈:这是 大老虎 。 乐乐:爸爸,快教我,手影是怎么玩出来的。 欢欢:这个我也会玩。我们的手把照在手上的光挡住了,就在墙上留下了影子。 爸爸:手的形状变成不同的样子,影子就变成不同的样子。 妈妈:我们先来看欢欢和爸爸怎么玩吧。 墙上出现一只小 兔 子,接着出现 大老虎 。 乐乐:小心呀, 大 老虎要抓兔子啦。 小兔子变成了老鼠,老虎变成了老 鹰。 妈妈:小心呀,老鹰要抓老鼠了。 乐乐:真好玩。我也和你们一起要玩手影游戏。 欢欢:要是光线能拐弯,我们就玩不成手影游戏了 大家一起欢笑。 墙上变化出很多不同的影子。 第四场【室外,白天,晴】 夕阳西下。 欢欢、乐乐和陶陶一起追逐。 陶陶:欢欢,乐乐,你们的影子好长呀,比中午长得多。 乐乐:你的影子也好长。中午我们的影子是个小黑团 欢欢:太阳斜着照在我们身上,我们挡住的阳光比中午多,影子比中午长。 陶陶:我们来玩踩影子游戏吧。 大家一起玩踩影子游戏。 陶陶:我踩着你的头了。 欢欢:我踩着你的胳臂了。 乐乐:我躲,我闪,不让你们踩。 欢欢:我倒退着,把影子放在我的前面,保护起来。 陶陶:可是你就跑不快了,我照样能踩着。 乐乐跑到了阴暗处。 乐乐:我躲在阴暗处,就没有影子哪。 陶陶:乐乐,快出来,没有影子踩就不好玩了。 欢欢:快来玩吧,一会儿天就黑了,我们会一起随地球转,转到太阳照不到的地方去。 乐乐:别担心,一会儿月亮会出来的。 陶陶:月亮会发光的,在月亮下也有影子。 欢欢:月亮不会发光,那是太阳的光照在月亮上面反射出来的。 第五场【室内,夜】 乐乐背对着灯光在看书。 欢欢:乐乐,你那样看书,会把眼睛看坏的。转过来看书吧。 乐乐:我喜欢这样看书。 欢欢:不行,你的脑袋挡住了光线,书上的字没有多少光线照着,就不清楚了。 乐乐转过身来。 乐乐:可是书上的字还是不清楚呀。 欢欢:对不起,这一次是我挡住了光线。 乐乐:要是光线能拐弯就好了,那就什么也挡不住光线了。 欢欢(让开了灯光):我也去看自己的书了。 乐乐:要是家里多安装几盏灯就好了。我家也要装无影灯。 欢欢:爸爸说过,那样会浪费很多电的。 乐乐:欢欢,要是我懂得那你那么多就好了。 欢欢得意的笑容。 两人安静地看书。 一个大的身影把欢欢和乐乐都罩住了。 欢欢、乐乐:哈,灯光突然暗了。 欢欢、乐乐从书上抬起头。 爸爸:好了,时间不早了,两个人该睡觉了。 小学生科普动漫剧本之1 大家来玩 踩水 小学生科普动漫剧本之2 团结起来力量 大 小学生科普动漫剧本之3 蚂蚁为何不见 了 小学生科普动漫剧本之4 来一场特殊的音乐会 小 学生科普动漫剧本之5 我们听马戏 小学生科普动漫剧本之6 我喜欢外面的风
个人分类: 科普|4809 次阅读|0 个评论
小学生科普动漫剧本之6 我喜欢外面的风
zhangjiuqing 2013-2-13 14:25
第一场【室内,白天】 欢欢、乐乐在看书 乐乐:关在屋里,我快闷死了。 欢欢:你就是不想看书,想出去玩了。把门打开,空气就流动起来了。 乐乐:空气流动? 欢欢:空气一流动,就有风了。 乐乐用嘴使劲吹气。 欢欢:你一吹气,就有了风啦。 乐乐我来回地翻动书页。 欢欢:你一翻动书页就有了风了。有了风,你就不会感觉闷了。 乐乐:这风太小了,可我还是感觉闷。 欢欢:那是书里的故事不精彩,换一本书看你就不会感觉闷了。 乐乐:我换了一本有趣的书,还是感觉闷。 欢欢:你手里拿把扇子。一边看书,一边扇扇子,有趣的故事加上流动的空气,你就不会感觉闷了。 乐乐(右手扇扇子,左手拿着书,边扇风边读书):春风吹过,花儿就开了;秋风吹过,叶子就落了;江风吹过,波浪就起了;山风吹过,树枝就 斜 了 。 欢欢:多有趣呀。怎么样,这下不闷了吧。 乐乐:可是,我还是想出去玩,我更喜欢外面的风。 欢欢:真服了你,我们一起到外面吧。 第二场【室外,白天,晴】 太阳火辣辣地照在地面。 欢欢和乐乐在太阳下晒着。 乐乐:地面都在冒气呀,好像更闷热呀。 欢欢:刚才在屋里待着你不安心,非要到外面。到外面你又嫌热。 乐乐:我怎么知道外面这么闷热。 欢欢:河里的水、地面的水被太阳一晒,变成水蒸气,都跑到空气了。空气水蒸气太多,外面气温又高,你就会感觉更闷热了。 乐乐:那儿有棵树,树下没有阳光晒着,我们快到树下去吧。 他们跑到树阴下。 乐乐:树下凉快多了,也感觉到有风了。 欢欢:刚才读的书里告诉我说,热空气向上走,冷空气向下走,空气对着流动,就形成了风。 乐乐:你读书可真用心呀。 陶陶拿着一个气球在太阳下跑来跑去。 乐乐:陶陶,快过来,这儿凉快。 陶陶:我才不怕热呢。 欢欢:陶陶,快过来,一会儿你的气球会爆的。 陶陶:我才不信呢。 陶陶气球的爆炸声。 乐乐:欢欢,你预测得真准。 陶陶的气球爆炸的声音。 陶陶(来到树阴下后):欢欢,都怪你,把我的气球诅咒爆了。 乐乐:欢欢好厉害呀,会咒语。 欢欢:你们这都不懂。气球里的空气被晒热膨胀了,气压增大,把气球的皮撑破了。 乐乐:皮破了,气球就爆了。 陶陶:气球一爆,就有了风。 第三场【室内,白天,另一天】 欢欢、乐乐在看书。 欢欢(一边看着书一边说):你知道吗,风从小到大,有十多级呢。 乐乐:我知道有微风、轻风、大风、狂风,龙卷风。清风最舒服,龙卷风最可怕。 欢欢: 0 级表示无风,轻风才 3 级, 6 级风就没法举伞了, 7 级风大人都走不动路了。 8 级以上就是大风, 12 级就是飓风。 乐乐:那我喜欢 5 级以下的风。最不喜欢台风、龙卷风,听说台风来了,海上的船都要翻;龙卷风来了,房子都要被刮走。 欢欢:谁都不喜欢太大的风。 窗户在响动。 乐乐:你听,外面起风了,我们出去玩吧。 欢欢:行呀,不过我们得出去做一次实验,你要帮我忙。 乐乐:做实验?我能帮什么忙? 欢欢:我想知道风吹得有多快,也就是要测一下风的速度。 乐乐:测定风速? 欢欢:你把在春节庙会买的风车找出来。 乐乐翻找玩具箱。 乐乐:我找出来了,好几个风车呢,还好好的。 欢欢:你轻轻向风车吹气,风车轮子就会慢慢转;你用力吹气,风车轮子就会快速地转,对不对? 乐乐时快时慢地吹动风车。 乐乐:那是当然呀。这有什么用? 欢欢:每分钟轮子转的圈数越多,就说明风吹的速度越大。一会儿在外面,你来数转数,我来记时间。我们来测风速。 乐乐:真好玩。现在,我来吹气,边吹边数轮子转数,你来记时间,看看我吹的风有多快。 欢欢(看着表): 1 秒, 2 秒, 3 秒, ...... 乐乐: 1 圈, 2 圈, 3 圈, 4 圈, ...... 好了,出去玩吧。 第四场【室外,白天,晴】 树上的叶子在风里哗哗响。 欢欢:这风不是 3 级就是 4 级。 地上的纸屑在风里翻转。 乐乐:管它几级风呢,这风真舒服。 乐乐举着风车在顺风跑。 陶陶举着风车在逆风跑。 欢欢举着风车转着圈跑。 好多的小朋友举着风车在跑。 欢欢:乐乐,快过来,帮我数风车轮子转数。 乐乐继续在风中奔跑。 欢欢:陶陶,快过来,帮我数风车轮子转数。 陶陶继续在风中奔跑。 一会儿,风停了。 欢欢(走向乐乐):乐乐,都怪你,不帮我,害得我不知道风的速度。 乐乐:对不起,我在风里玩得太开心了。下次起风的时候,我一定帮你。 陶陶凑了过来。 陶陶:谁需要帮忙?怎么不叫我? 大家举着风车跑。 第五场【室外,白天,晴】 欢欢、乐乐和陶陶跑到了山脚下。 远处的山上,竖着一些风车的叶片。 陶陶:你们看,山上也有风车。 乐乐:有好多风车呢。 欢欢:你们知道为什么山上有风车吗? 陶陶:大人们淘气,把风车装在山上好玩罢了。 乐乐:才不是呢。欢欢肯定知道,快告诉我们吧。 欢欢:那不是风车,那是风力发电厂的叶片。 陶陶:风力发电? 乐乐:叶片? 欢欢:对呀,书上说,风一吹起来就有能量,叫风能。风能通过叶片到发电厂里,发电厂就把风能变成了电。 乐乐:风这么有用呀。 陶陶:我还以为风就吹着玩的呢。 欢欢:大人们不想把风能给浪费了,就建了风力发电厂。 陶陶和乐乐(举着风车转来转去):发电啦,发电啦。 乐乐:你们看,风车还在转动呢,山上一定有风。 陶陶:我们一起去山上吹风吧。 欢欢:不能去,那儿太远了。 乐乐和陶陶嘴里喊着“发电啦,发电啦”,跑开了。 欢欢在后面追:等等我。 小学生科普动漫剧本之1 大家来玩 踩水 小学生科普动漫剧本之2 团结起来力量 大 小学生科普动漫剧本之3 蚂蚁为何不见 了 小学生科普动漫剧本之4 来一场特殊的音乐会 小 学生科普动漫剧本之5 我们听马戏
个人分类: 科普|4176 次阅读|0 个评论
小学生科普动漫剧本之5 我们听马戏
zhangjiuqing 2013-2-13 14:19
第一场【室外,白天,晴】 欢欢、乐乐和陶陶在玩“手心手背”。 乐乐:哈哈,我赢了。你们两个有一个会当瞎子了。 欢欢和陶陶玩“石头剪子布”。 陶陶:哈哈,我赢了。欢欢,你当瞎子啦。 乐乐、陶陶:瞎子 摸人游戏开始了。 乐乐用丝巾把欢欢的眼睛遮住,然后走开了。 陶陶:来摸我,来摸我。 欢欢很快摸到了陶陶。 陶陶:不行,眼睛还能透过丝巾看人。 陶陶用黑布双层遮住了欢欢的眼睛。 乐乐:快来摸我呀。 欢欢探索者摸到了乐乐。 乐乐:咦,你怎么这么快就摸到我了。 欢欢:我听着声音就来了。 乐乐(举起手里的丝巾):你知道我手里拿的是什么吗? 欢欢(用手摸了摸):是丝巾。 陶陶:你怎么知道是丝巾呢? 欢欢:不同的东西给我的手的触觉是不一样的。 欢欢(把丝巾放到鼻子边)再说,这丝巾有一股特殊的香味,我鼻子能闻到。 陶陶(把丝巾拿过来放到嘴边):要是这么香的丝巾能吃就好了,味道一定很好。 欢欢:现在该陶陶当瞎子摸人啦。 陶陶当瞎子摸来摸去。 乐乐当瞎子摸来摸去。 第二场【室内,白天】 乐乐:欢欢,听说远近闻名的马戏团要到我们这儿来演出了。我们一块去看吧。 陶陶(跳着舞):听说有笨熊走板、小狗钻圈、大象跳舞,好多好多节目,很好看的。 欢欢:马戏团演出的地方离我们这儿很远呢。 乐乐:我们的爸爸妈妈又在上班,没有时间带我们去。 陶陶:我们可以自己去呀。我知道怎么走,快去快回,爸爸妈妈就不会知道了。 欢欢:陶陶,你真的知道怎么走,真的我们会很快回来? 陶陶:去年我去看过马戏,现在还记得呢。 乐乐:就是不知道怎么走,我们可以问路嘛。走吧,去晚了就看不到精彩的演出了。 欢欢:这样吧,陶陶,你告诉我怎么走,我画一张行走路线图。 陶陶:这么麻烦。从这儿出发,一直朝前走,走到头向左拐,你会看到第一棵大树;走过大树后向右拐,你会看到一座房子。 欢欢(低着头在纸上画着):你说慢点。我要把你说的信息都记录下来。 陶陶:走过房子后再向左拐,左拐后一直朝前走,你就会看到马戏团的帐篷了。 欢欢展示刚才画的这张图。 欢欢:有了这张路线图,我们就不会迷路了。用眼睛也就是视觉看东西,是我们接受信息的最重要方法。 乐乐:我们快出发吧。 道路上有盲道。 陶陶在盲道上走。 陶陶:盲人就不方便了,只能用拐杖走盲道。 欢欢: 盲道是凹凸不平的 ,盲人用脚能感觉到 。 陶陶:我知道,直道的地方是条形砖,转弯的地方是有圆点的砖。 乐乐:我也知道,盲道的颜色也不一样呀。 欢欢:这是在用视觉提醒其他人,这是盲人专用道,不能随意占用。 陶陶离开盲道。 乐乐:我们一起来唱“马戏歌”歌吧。 大家边走边唱:马戏团,马戏团,动物来表演。有大象,有笨熊,小丑最好看。 第三场【室外,白天,晴】 欢欢、乐乐和陶陶继续走着。 欢欢:走到头了,向左拐。 乐乐:那前面有一棵树,不过看起来好远。 路边有好几棵树。 陶陶(小声嘀咕):我去年走过这条路,好像没这么远。 欢欢:你在嘟囔什么呀。 陶陶:没、没什么。我去年看过马戏团表演,很好玩,今年一定更精彩。 乐乐:我最喜欢看小猴子骑车表演了。 一辆自行车从他们身边经过。 乐乐:要是我们能骑自行车就好了。 欢欢:要是我们身上有钱,还可以坐出租车去。 乐乐:我走累了,在树下休息一会吧。这棵树开满了花,味道真香呀。 陶陶踮起脚尖要用手去采花,被欢欢制止了。 欢欢:不要随便摘花。 乐乐(用手朝鼻子里扇风):像我这样,用手把花香扇进鼻子里就行了。 欢欢:我们的鼻子也就是嗅觉,是接收信息的重要途径。 陶陶:我还吃过菊花瓣呢,味道真不错。 欢欢(假装采了一朵花,放进嘴里嚼了嚼)味道好极了。: 乐乐(站起来):又该走吧,去晚了就看不到精彩的节目了。 大家一起唱:马戏团,马戏团,动物来表演。有大象,有笨熊,小丑最好看。 第四场【室外,白天,晴】 欢欢:还好,右拐后真的看到房子了,看来我们没有走错。 陶陶:我的记性很好,不会记错的。 乐乐:可是前面有一排房子呢,你说的到底是哪一座房子呢 ? 陶陶:我想一想。对了,那房子是个小商店,里面卖一种特别口味额冰淇淋。 乐乐:我们快走吧。我口渴了,欢欢,你请我们吃冰淇淋吧。 欢欢:我口袋里可没有钱。陶陶,你带钱了吗? 陶陶:没带钱?你是太抠门了。我就大方一次吧。(朝乐乐)拿着,这根给你。(朝欢欢)这根给你。 乐乐:这冰淇淋还真凉呀。 欢欢:现在,我们是在用手也就是触觉,来接受来自冰淇淋的信息。 走过房子后,他们一人嘴里吃着一支冰淇淋。 欢欢:你们知道吗,吃冰淇淋就是我们在用舌头也就是味觉,来接收信息。 乐乐:这冰淇淋的味道真的很特别呢。 陶陶:欢欢,今天你怎么啦,总是这觉那觉的,这信息那信息的。 欢欢:对呀,接受信息需要视觉、听觉、味觉、嗅觉和触觉。 陶陶:我现在感觉到了,我舌头上的味蕾在跳舞呢。 欢欢:我们快走吧,再聊下去就迟到了。 大家边走边唱:马戏团,马戏团,动物来表演。有大象,有笨熊,小丑最好看。 第五场【室外,白天,晴】 欢欢:终于到马戏团了。我们快进去吧。 门卫挡住了他们:对不起,你们的票呢? 陶陶:去年的马戏表演都没有收票呢。 门卫:今年的马戏团不是去年的马戏团,快去买票吧。小朋友半价。 欢欢:我身上一分钱也没有。 乐乐:我的身上也没有钱。陶陶,你身上还有钱吗? 陶陶:刚才买冰淇淋把钱都花完了。 乐乐:这下完了,怎么办呢? 陶陶:我可不想马上就回去。 欢欢:别着急,来,我们用听觉来欣赏马戏吧。 乐乐、陶陶:用听觉欣赏马戏? 欢欢:也就是用我们的耳朵来接收马戏团里的信息。大家竖起耳朵,听听里面都在表演些什么节目? 他们走到帐篷的后面,用耳朵贴住帐篷。 乐乐:我听出来了,里面好像有人在说“大象给大家鞠躬呢”。 陶陶模仿着给欢欢和乐乐鞠躬。 欢欢:我听出来了,下一个节目好像是“狗熊骑自行车”。 陶陶模仿成一只狗熊,跑来跑去。 陶陶:我也听出来了。是两只猴子在表演翻筋斗呢。 欢欢、乐乐一起翻筋斗。 陶陶:大家快来看呀,马戏团的小丑跑到外面来了。 欢欢、乐乐和陶陶边跳边唱:马戏团,马戏团,动物来表演。有大象,有笨熊,小丑最好看。 门卫走过来:小朋友,请安静一些。 大家又把耳朵贴在帐篷上。 小学生科普动漫剧本之1 大家来玩 踩水 小学生科普动漫剧本之2 团结起来力量 大 小学生科普动漫剧本之3 蚂蚁为何不见 了 小学生科普动漫剧本之4 来一场特殊的音乐会
3194 次阅读|0 个评论
关于Windows c盘磁盘空间低
qianlivan 2011-12-15 09:31
我的Windows系统盘一般是c盘,几乎不管c盘有多大,经常系统都会提示“c盘磁盘空间低”。如果光是提示,那基本上我懒得去管,但是一到这种时候,电脑就比蜗牛还慢,什么都做不了,于是只能去磁盘清理,可是在要知道这个时候干什么和窗口有关的事都会很慢的,所以就等吧。 对于这种情况,我尝试过各种办法。我首先做的是把所有软件装到另外的盘。好了一段时间,但是15G的c盘在某一天还是不可避免地满了。我研究了一段时间,发现outlook express在搞鬼,我把收件箱挪到了另外的盘。但是……c盘还是不可避免的满了。这次得认真对待了。 上网搜了一些,多数说法是临时文件太多。关于解决方法,有人说用磁盘清理(这显然是不行的,要不我也不会来研究这个了);有人说手动去删除(这显然也是不行的,电脑像蜗牛的时候最好不要用窗口);有人说,直接命令行暴力删除。借鉴在Linux下的经验,我觉得最后一种靠谱,当然也有相当的危险——在Linux下我曾经差点删除了自己的主目录。 网上就有现成的这种暴力删除脚本,当然在搞明白之前不敢乱用,主要是要明白脚本里删除的文件都是什么含义。脚本里第一行删除的是.tmp结尾的临时文件。 del /f /s /q %systemdrive%\*.tmp 其中/f表示强制删除只读文件,/s表示从子目录中删除(相当于Linux的“-r”:recursive ),/q表示安静模式(删除全局通配符不需确认)。我在命令行里直接试了一下,这一个命令就可以释放1G的空间。但是回想一下这个做法是很危险的,因为在我的键盘上“\”键和回车键在一块儿,所以敲完%systemdrive%的时候我很有可能敲了一下回车,然后可能就比较悲剧了。所以还是把这些命令写到一个.bat文件里比较安全,确认命令正确以后再执行批处理(注:脚本的注释用rem,这个和Linux的概念差很多)。 暴力删除脚本的其它行删除了._mp结尾的临时文件、.log结尾的日志文件、.gid结尾的临时帮助文件、.chk结尾的磁盘检查文件、.old结尾的临时备份文件以及其它一些文件。但是我想到此为止已经可以满足我的需要了。下次再“c盘磁盘空间低”再想办法。于是我的release.bat的内容是 rem anti c space is low echo start cleaning del /f /s /q %systemdrive%\*.tmp del /f /s /q %systemdrive%\*._mp del /f /s /q %systemdrive%\*.gid del /f /s /q %systemdrive%\*.old del /f /s /q %systemdrive%\recycled\*.* del /f /s /q %windir%\prefetch\*.* echo done 执行的时候打开cmd命令行窗口,敲 release 就可以了。 20140110 从老岳那里学到一招,用CCleaner。 http://www.piriform.com/ccleaner/download/portable
个人分类: 知识|3974 次阅读|0 个评论
R 脚本应用及数据输出
innocent2010 2010-12-15 05:43
首先说说R的脚本,脚本可以用来写连续的R代码,并保存成以R为后缀名的文件,这个很多教材中都有写,关键是怎么运行这些R脚本呢,通过查资料发现总共有三个方法运行R脚本: 1)通过source函数运行,例如在R console里写入代码: source(C:/Users/Jun Xie/Documents/R/zhongshan/em1.R) R就会读入你编写的脚本里的函数,然后再运行函数就可以实现你想要实现的功能了 2)通过R脚本编辑器运行,方法如下: RGui-File-Open Script, 然后按Ctrl+ R运行 运行后你脚本里的object就会出现在ls()里,然后就可以想方法1那样运行函数了 3)直接黏贴到控制台 ctrl + c ,ctrl + v 好了,现在介绍一下怎么保存你得到的结果,这个是你在控制台里保存对象 sink(em2_data.txt) outer(r,1) sink() 第一行代码是建立要保存的文件,保存到默认路径(getwd,setwd) 第二行代码是确定要输出的数据,必须输出矩阵,这里r是个向量,因此提供一个1作为列 第三行将确定的数据输出。 Done!
个人分类: 未分类|11674 次阅读|0 个评论

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-12 20:55

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部