一( )小兵。求在括号填入合适的词语里面的词语,精辟,...

当前位置:
>>>在括号里填上适当的词语。例:一(件)上衣一()劲头一()蘑菇一()木头..
在括号里填上适当的词语。例:一(件)上衣一(&&&&& )劲头&&一(&&&& &)蘑菇&&一(&&&& &)木头一(&&&& &)鸟叫&&一(&&&&& )士兵&&一(& &&&&)口哨
题型:填空题难度:偏易来源:同步题
股&& 个&& 块&&&阵&& 个&& 声(意思对即可)
马上分享给同学
据魔方格专家权威分析,试题“在括号里填上适当的词语。例:一(件)上衣一()劲头一()蘑菇一()木头..”主要考查你对&&词性&&等考点的理解。关于这些考点的“档案”如下:
现在没空?点击收藏,以后再看。
因为篇幅有限,只列出部分考点,详细请访问。
词性:指作为划分词类的根据的词的特点。现代汉语的词可以分为12类。 实词:名词、动词、形容词、数词、量词和代词。虚词:副词、介词、连词、助词、拟声词和叹词。词性分类:名词:表示人和事物的名称叫名词。如“黄瓜、猪、马、羊、白菜、拖拉机、计算机.。”1、表示专用名称的叫做“专用名词”,如“云南、上海、李白、白居易,中国。”2、表示抽象事物的名称的叫做“抽象名词”,如“范畴、思想、质量、品德、品质、友谊、方法。”3、表示物质事物(无法分出个体的物质)的名称的叫做“物质名词”,如“火、水、大米。”4、表示方位的叫做“方位名词”,如“上、下、左、右、前、后、中、东、西、南、北、前面、后边、东边、南面、中间。”等。动词:动词表示人或事物的动作、行为、发展、变化。1、有的动词表示一般的动作,如"来、去、说、走、跑、吼、叫、学习、起飞、审查和认识"等。2、有的动词表示心理活动,如“想、重视、注重、尊敬、了解、相信、佩服、惦念”等,这样的动词前面往往可以加上“很、十分”。3、有的动词表示能够、愿意这些意思,叫做“能愿动词”,它们是“能、要、应、肯、敢、得(dei)、能够、应该、应当、愿意、可以、可能、必须”,这些能愿动词常常用在一般的动词前面,如“得去、能够做、可以考虑、愿意学习、应该说明、可能发展”。4、还有一些动词表示趋向,叫做“趋向动词”,如“来、去、上、下、进、出、上来、上去、下来、下去、过来、过去、起来”,它们往往用在一般动词后面表示趋向,如“跳起来、走下去、抬上来、跑过去”。5、“是”“有”也是动词,跟动词的用法一样,“是”也成为判断动词。形容词:形容词表示事物的形状、性质、颜色、状态等,如“多、少、高、矮、胖、瘦、死板、奢侈、胆小、丑恶、美丽、红色”。状态形容词通红、雪白、红通通、黑不溜秋等前面不能加“很”。注意:形容词前能加很。数词:数词是表示事物数目的词。如“一、二、两、三、七、十、百、千、万、亿、半”。量词:量词是表示事物或动作单位的词。汉语的量词分为名量词和动量词。1、名量词表示事物的数量,又可以分为单位量词和度量量词。单位量词表示事物的单位,如“个、张、、只、支、本、台、架、辆、颗、株、头、间、把、扇”等;度量量词表示事物的度量,如“寸、尺、丈、斤、两、吨、升、斗、加仑、伏特、欧姆、立方米”。2、动量词表示动作的数量,用在动词前后表示动作的单位,如“次、下、回、趟、场”。代词:代词能代替实词和短语。表示指称时,有定指和不定指的区别。不定指往往是指不确定的人、物或某 种形状、数量、程度、动作等。他不常指某一定的人物,也就不可能有一定意义,介乎虚实之间。1、人称代词:代替人或事物的名称。如“我、你、您、他、她、它、我们、你们、他们、她们、它们、咱们、自己、别人、大家、大伙(自己能和其他代词连用,起强调作用。例如:我自己、你们自己、大家自己)”。2、疑问代词:用来提出问题。如“谁、什么、哪(问人或事物)、哪儿、那里(问处所)、几 多 (问数量)、多、多么 (问程度)、怎么、怎样、怎么样 (问性质状态)、什么、怎样什么样(问方式行动)”。3、指示代词:用来区别人或事物。如“这、那(指人或事物)、这儿、这里、那儿、那里(指处所)、 这会儿、那会儿(指时间)、这么、这样、这么样、那么、那样、那么样(指性质、状态、方式、行动、程度)、这些、那些、这么些、那么些(指数量)、每、各(指所有的或全体中任何一个)、某、另、别(确有所指,未说明哪一个)”。代词一般不受别的词类的修饰。代词同它所代替的或指示的实词或短语的用法相当,它所代替的词能充当什么句子成分,它也能充当什么句子成分。注意:数词和量词通常被人们称为数量词。副词:副词总是用在动词形容词前面做状语,如 “很、颇、极、十分、就、都、马上、立 刻、曾经、居然、重新、不断”等。副词通常用在动词、形容词前面。如“就来、马上走、十分好、重新开始”,只有“很”“极”可以用在动词、形容词后面做补语,如“高兴得很、喜欢极了”。介词:介词总是同其他的词组合在一起,构成介词短语,做定语、状语和补语。如“把、从、向、朝、为、为了、往、于、比、被、在、对、以、通过、随着、作为”。连词:连词可以连接词、短语、句子乃至段落。如“和、及、或者、或、又、既”。关联词语可以看成是连词,如“因为……所以、不但……而且、虽然……但是”。助词:附加在词、短语、句子上起辅助作用的词。助词可以分为三类。1、结构助词,它们是“的、地、得、所、似的”。2、动态助词,它们是“着、了、过”。3、语气助词,如“啊、吗、呢、吧、呐、呀、了、么、哇”。叹词:表示感叹、呼唤、应答的词叫做叹词。如“喂、哟、嗨、哼、哦、哎呀”。叹词总是独立成句。拟声词:这是模拟声音的词。如“呜、汪汪、轰隆、咯咯、沙沙沙、哗啦啦、呼啦啦”。词类的辨别: ①区分名词和非名词,名词前不能加“不”和“很”。②区分形容词和动词,形容词可以用“很”来修饰,动词前不能加“很”(表示心理活动的动词除外)③区分形容词和副词,形容词能修饰名词,前面能加“很”;副词不能修饰名词,前面不能加“很”。④区分连词和介词,前后能互换的是连词,前后不能互换的是介词。⑤区分动词和介词,作谓语中心语的只能是动词,组成介宾短语修饰、补充动词、形容词的是介词。⑥区分语气助词和叹词,语气助词一般用在句尾,叹词往往独立成句,一般在句首。⑦区分介词和副词,介词后面跟名词、代词,副词后面是动词或形容词。&词类的意义及语法特点:(1)实词:表示实在的意义,能够作短语或句子的成分能够独立成句。 (2)虚词:一般不表示实在的意义,不作短语或句子的成分(只有副词例外),它们的基本用途是表示语法关系。 A、名词:表示人和事物名称的词。表示人的名称,如同志、作家;表示具体事物,河流、高山;表示抽象事物,如政治、科学;表示时间名称,上午、夏天;表示处所名称:上海、中国;表示方位名称:上、下(简称方位词) 名词的语法特点:①表示人称的名词,可以在后头加“们”表示多数②方位词常用在其他名词后头,组成表示处所、范围或时间的方位短语③名词一般不受副词修饰。 B、动词:是表示动作行为、发展变化、心理活动等意义的词。 表示动作、行为:坐、听;表示存现、消失或发展变化:有、发生;表示心理活动:爱、恨;表示使令:叫、让;表示可能、意愿(能愿动词):能、会;表示趋向(趋向动词):来、去;表示判断(判断词):是。 动词的语法特点:①动词一般受副词“不”的修饰。②动词后面可以带“着、了、过”,表示动态。③一部分动词可以重叠,表示时间短暂或尝试的意思。④判断词“是”主要是联结句子的主语和宾语。⑤能愿动词后面不能跟名词,能愿动词可以和后面的动词一起作谓语中心语,也可以单独作谓语中心语。⑥趋向动词可以单独作谓语中心语,也可以在谓语中心语后面作补语。 C、形容词:是表示事物的形状、性质、状态的词。 表示事物形状的:高、矮;表示事物性质的:漂亮、结实;表示事物状态的:快、慢; 形容词的语法特点:①一部分形容词可以用重叠形式来加强语义。②大多数形容词可以受副词“很”修饰。 D、数词:是表示数目的词。 表确数(表示分数,整数和倍数);表概数:几、许多;表序数:第一、老三;数词的语法特点:①数目增加,可以用分数表示,也可以用倍数表示②数目减少,只能用分数,不能用倍数。 E、量词:是表示事物和动作、行为单位的词。表示事物单位的量词叫数量词。表示动作、行为单位的量词叫动量词。表示事物单位的:个、只;表示动作、行为单位的:次、回,有时也借用某些名词来表示,如:脚、年; 量词的语法特点:①量词经常和数词连用,组成数量短语,也称为数量启数量词。②表示物量的数量词常用在名词的前面。③表示动量的数量词数量词常用在动词的后面。 F、代词:起代替或指示作用的词。 代词分为人称代词、疑问代词、指示代词三类。代词的语法特点:①第二人称的敬称“您”不用于复数,如果需要表示复数,就用“您几位”“您诸位”②第三人称复数代词“他们”可专指男性,也可兼指男性和女性,“她们”则专指女性③注意“我们”和“咱们”用法的区别。“我们”指说话人,有时也可以包括听话人;“咱们”一定包括说话人和听话人④指示代词“那”用于远指,“这”用于近指⑤代词用得不恰当,指代不明,可造成病句。 G、副词:一般用在动词、形容词前边,表示行为、动作或性质、状态的程度、范围、时间、频率、情势、语气等。 表示范围:都、全;表示语气:可、倒;表示否定:不、没;表示时间:刚、恰好;表示程度:很、极;表示情势:仿佛、渐渐。 副词的语法特点:①副词主要用来修饰、限制动词或形容词,在动词、形容词前面作状语。②副词有时用在形容词后面,补充说明程度、结果,作补语。③副词不能修饰名词、代词。 H、连词:是用来连接词、短语或句子的词。一般连词:和、与、并、或、及;关联词:主要用来连接复句中的分句或句群中的句子。不但 而且、虽然 但是。 语法特点:①一般连词的前后两部分可以调换而基本意思不变。②关联词的主要在复句中进行运用。 I、介词:介词经常用在名词、代词等的前面,和这些词合起来,表示动作、行为、性状的起止、方向、处所、时间、对象、方式、原因、目的、比较等。 常用介词及其用法(顺口溜) 自、从、以、当、为、按照, 由于、对于、为了、到 和、跟、把、比、在、关于 除了、同、对、向、往、朝…… 用在名词、代词前,组成介宾短语后,修饰、补充“动”“形”要记牢。 J、助词:是附着在实词、短语或句子上面,起辅助作用的词。助词可分三类:结构助词、动态助词、语气助词。结构助词:的、得;动态助词:着、了、过;语气助词:的、了、吗、吧、呢等。 K、叹词:表示感叹、呼唤、应答等声音的词。如啊、嗯等。语法特点:一般独立成句,用逗号或感叹号隔开。 L、拟声词:是摹拟人或事物的声音的词。语法特点:在句子中相当于一个形容词。
发现相似题
与“在括号里填上适当的词语。例:一(件)上衣一()劲头一()蘑菇一()木头..”考查相似的试题有:
41294609857067192312516294《括号里的括号》_优秀范文十篇
范文一:括号里的错位括号里的错位 例一:要做到资源的开发与保护(包括自然资源和文化资源)并重,在保护中开发,在开发中保护。例二:北京2008年奥运会的市场开发已进入到一个新的阶段(特许商品市场开发、相关商品市场开发、服务市场开发。)。例三:选矿拜耳法的基本原理是,将低品位铝矿石经过选矿后提高品位,然后用技术成熟、能耗低的拜耳法生产氧化铝。(铝硅比从5左右提高到10以上)上面三例的问题属于括号用法错误问题,括号位置放错是公文拟稿中的一种频发性错误。我们有必要对括号的用法作一番探讨。《标点符号用法》说的很明白:括号是用来表示文中注释、补充说明或插叙的词句,使这些词句不混同于正文的一种符号。括号分为句内括号和句外括号两类。句内括号是用来标明行文中注释性的说明或插叙部分的,句内括号要紧接在句子中所要注释或说明的词句之后,一般不加标点符号。句外括号是注释整个句子的括号,句外括号要放在句末的标点符号之后,有时句外括号还可以另起一行、单独成行。除了表示疑问和感叹之意可以用问号和句号之外,句内括号里的词句句尾一般不用标点符号;句外括号里的词句句尾可用标点符号,也可不用标点符号。句内括号中的疑问句可以用问号,如:减少了不必要的浪费(难道还有有必要的浪费?)。句内括号中的感叹句可以用感叹号,如:“2005年,中国已全部淘汰了自焙电解槽(已走在了世界前列!)。句内括号中的陈述句不用标点符号,如:中国铝业股份有限公司(简称中国铝业)。句外括号里的词句句尾可用标点符号,也可不用标点符号,如:公司5年前就开始“走出去”参与国际竞争了。(5年前收购的非洲矿业公司年创利润额已增大为收购前的12倍);公司5年前就开始“走出去”参与国际竞争了。(5年前收购的非洲矿业公司年创利润额已增大为收购前的12倍。)例一中“包括自然资源和文化资源”是用来补充说明“资源”的,应该紧紧接在“资源”之后。例二中“特许商品市场开发、相关商品市场开发、服务市场开发”是用来解释“市场开发”的,不能放在句尾,而要紧紧接在“市场开发”之后,而且括号里的句尾不能加句号。例三中“铝硅比从5左右提高到10以上”不是用来注释整个句子的,而是用来注释低品位铝矿石和高品位铝矿石的,所以要把这两个铝硅比值分别放在注释低品位铝矿石和高品位铝矿石的句内括号里。 上面三例可以改为--例一:要做到资源(包括自然资源和文化资源)的开发与保护并重,在保护中开发,在开发中保护。例二:北京2008年奥运会的市场开发(特许商品市场开发、相关商品市场开发、服务市场开发)已进入到一个新的阶段。例三:选矿拜耳法的基本原理是,将低品位铝矿石(铝硅比为5左右)经过选矿后提高品位(铝硅比达到10以上),然后用技术成熟、能耗低的拜耳法生产氧化铝。
范文二:php正则:匹配(),{},[]小括号,大括号,中括号里面的内容比如有一段字符:123$s='60c8{"code":"200","message":"success","data":[{"_id":"780521","time":,"position":{"long":108.90415,"lat":35.25623},"speed":495.677952,"anum":"B6552","atype":"A321","atypename":"Airbus A321-231","angle":"198","vspeed":"-576","device":"9d26b827eb566225","onground":"0","updatetime":,"height":3581.4,"fnum":"CSN3722 ","alert":"0","spi":"0","squawk":"1107","emergency":"0"}]}';我要匹配,{}括号里面的内容,单独拿出来。12preg_match('/(?:\{)(.*)(?:\})/i', $s, $match);var_dump($match);说明:PHP使用正则表达式提取字符串中尖括号、小括号()、中括号[]、大括号{}中的字符示例,需要的朋友可以参考下12345678910111213141516171819202122232425262728293031323334353637$str="你好(爱)[北京]{***}";echo f1($str); //返回你好echo f2($str); //返回我echo f3($str); //返回爱echo f4($str); //返回北京echo f5($str); //返回***function f1($str){$result = array();preg_match_all("/^(.*)(?:<)/i",$str, $result);return $result[1][0];}function f2($str){$result = array();preg_match_all("/(?:)/i",$str, $result);return $result[1][0];}function f3($str){$result = array();preg_match_all("/(?:\()(.*)(?:\))/i",$str, $result);return $result[1][0];}function f4($str){$result = array();preg_match_all("/(?:\[)(.*)(?:\])/i",$str, $result);return $result[1][0];}function f5($str){$result = array();preg_match_all("/(?:\{)(.*)(?:\})/i",$str, $result);return $result[1][0];}PS: (?:字符) 表示不捕获这个字符。貌似PHP不支持将字符换成括号。否则的话可以将环视给嵌套进去,就可以循环匹配了。PS2:环视:(?!) (?=) (? 范文三:Matlab中的括号Matlab中经常会用到括号去引用某Array或者是cell的内容,但三者有什么具体区别呢?[ ]中括号用来构建向量(Vectors)或者是矩阵(Matrices)。如[6.9 9.64 sqrt(-1)] 就是一个有三个元素的向量。 [11 12 13; 21 22 23] 是一个二乘三的矩阵. 分号(;)用来结束一行。中括号的另一个作用是在函数中,分配输出参数。 { }大括号,用于cell型的数组的分配或引用。比如 A(2,1) = {[1 2 3; 4 5 6]}, or A{2,2} = ('str') ( )小括号,用于引用数组的元素。如 X(3)就是X的第三个元素。 X([1 2 3])就是X的头三个元素。 算例:A = [ 1 2 3 ]%A就是一个三个元素的数值数组。中括号用于构建非cell数组。%数组的引用用小括号A(1,2)%A(1,2)得到A数组第一行第二列的元素。 B = {A A}%B为1一行两列的数组,数组的元素为cell%数组的引用依然用小括号B(1)%这时B(1)为一个cell%cell内容的引用需要用大括号。%B{1}则为cell 1的内容,此时为 1 2 3%cell内容为数值数组的,继续用小括号引用其内容 B{1}(1,3)%B{1}(1,3)的内容为3. D={B B} D = {1x2 cell} {1x2 cell} 此时D的某个元素内容的引用则为D{1}{1,2}(1)%cell层都需要用大括号引用。
范文四:shell中的括号(小括号,大括号/花括号)在这里我想说的是几种shell里的小括号,大括号结构和有括号的变量,命令的用法,如下:1.${var}2.$(cmd)3.()和{}4.${var:-string},${var:+string},${var:=string},${var:?string}5.$((exp))6.$(var%pattern),$(var%%pattern),$(var#pattern),$(var##pattern)现在分述如下:1.Shell中变量的原形:${var}大家常见的变量形式都是$var,如$ var=test$ echo $vartest但当你要显示变量值加随意的字符(我这里用AA)时,就会出错,如下:$ echo $varAA$这时应该用变量的原形:${var},即是加一个大括号来限定变量名称的范围,如下$ echo ${var}AAtestAA$以这个特性,我们可以很方便地写一个批量改后缀名的程序,我把它命名为mymv,程序如下:#!/bin/bashtail=$1for filename in `ls`domv $filename ${filename}.$taildone程序需要提供一个后缀名,如c,表示改为后缀为c的C程序文件,看下面的测试:$ lsa b c$ mymv c$ lsa.c b.c c.c$看样子程序运行的很好,但这是不完善的程序,有2个要注意的问题:A,目录下没有子目录,如果有一个目录,假设为dir,则也会被改为dir.c,这显然不是我们想要的,应该修正这个程序能识别目录。B,没有帮助对程序的参数进行处理,程序应该足够友好,在用户没有给定后缀名时应能处理,像上面的将直接给文件加上了一个点(.),这显然也不是我们想要的。因为我们的目的是说明${var},这样已经足够了,因此这里不会再对上面的程序进行修正。2.命令替换$(cmd)命令替换$(cmd)和符号`cmd`(注意这不是单引号,在美式键盘上,`是ESC下面的那个键)有相同之处$ lsa b c$ echo $(ls)a b c$ echo `ls`a b c我们来分析一下命令echo $(ls),以便理解所谓命令替换是什么意思:shell扫描一遍命令行,发现了$(cmd)结构,便将$(cmd)中的cmd执行一次,得到其标准输出,再将此输出放到原来命令echo $(ls)中的$(ls)位置,即替换了$(ls),再执行echo命令。如下:echo $(ls)被替换成了echo a b c这里要注意的是$(cmd)中的命令的错误输出是不会被替换的,替换的只是标准输出:$ var=$(cat d) ###文件d在当前目录不存在cat: d: 没有那个文件或目录$ echo $var$ ###显然var变量的值是空的3.一串的命令执行()和{}()和{}都是对一串的命令进行执行,但有所区别:A,()只是对一串命令重新开一个子shell进行执行B,{}对一串命令在当前shell执行C,()和{}都是把一串的命令放在括号里面,并且命令之间用;号隔开D,()最后一个命令可以不用分号E,{}最后一个命令要用分号F,{}的第一个命令和左括号之间必须要有一个空格G,()里的各命令不必和括号有空格H,()和{}中括号里面的某个命令的重定向只影响该命令,但括号外的重定向则影响到括号里的所有命令我们来看几个例子:$ var=test$ (var= echo $var) ###变量var值为notest,此是在子shell中有效notest$ echo $var ###父shell中值仍为testtest$ { var= echo $} ###注意左括号和var之间要有一个空格notest$ echo $var ###父shell中的var变量的值变为了notestnotest$ { var1=test1;var2=test2;echo $var1>a;echo $var2;} ###输出test1被重定向到文件a中,test2 ###而test2输出则仍输出到标准输出中。$ cat atest1$ { var1=test1;var2=test2;echo $var1;echo $var2;}>a ###括号内命令的标准输出全部被重定向到文件a中$ cat atest1test2下面是一个脚步例子:(echo "1"echo "2") | awk '{print NR,$0}'4,几种特殊的替换结构:${var:-string},${var:+string},${var:=string},${var:?string}A,${var:-string}和${var:=string}若变量var为空,则用在命令行中用string来替换${var:-string},否则变量var不为空时,则用变量var的值来替换${var:-string}如:$ echo $newvar$ echo ${newvar:-a}a$ echo $newvar ###变量newvar的值仍然是空,但上一命令行中${newvar:-a}被替换成了a$ newvar=b$ echo ${newvar:-a} ###变量newvar的值不为空时,此命令行中的${newvar:-b}被替换为$newvar,即bb$对于${var:=string}的替换规则和${var:-string}是一样的,所不同之处是${var:=string}若var为空时,用string替换${var:=string}的同时,把string赋给变量var:$ echo $newvar$ echo ${newvar:=a}a$ echo $newvar ###变量newvar被赋值为a,同时${newvar:=a}被替换成aa$ echo ${newvar:=b} ###变量newvar不为空(其值已被赋为a),则${newvar:=b}被替换为newvar的值(即b)a$ echo $newvara${var:=string}很常用的一种用法是,判断某个变量是否赋值,没有的话则给它赋上一个默认值。如设置默认的编辑器:PHP 代码:echo You use editor: ${EDITOR:=/bin/vi}B,${var:+string}${var:+string}的替换规则和上面的相反,即只有当var不是空的时候才替换成string,若var为空时则不替换或者说是替换成变量 var的值,即空值。(因为变量var此时为空,所以这两种说法是等价的)$ echo $newvara$ echo ${newvar:+b}b$ echo $newvara$ newvar=$ echo ${newvar:+b}$C,${var:?string}替换规则为:若变量var不为空,则用变量var的值来替换${var:?string};若变量var为空,则把string输出到标准错误中,并从脚本中退出。我们可利用此特性来检查是否设置了变量的值。$ newvar=$ echo ${newvar:?没有设置newvar的值}bash: newvar: 没有设置newvar的值$ newvar=a$ echo ${newvar:?没有设置newvar的值}a$补充扩展:在上面这五种替换结构中string不一定是常值的,可用另外一个变量的值或是一种命令的输出。$ echo ${var:-`date`}日 3月 6 02:10:39 CST 2005$ echo ${var:-$(date)}日 3月 6 02:11:46 CST 2005$ a=test$ echo ${var:-$a}test$5.POSIX标准的扩展计算:$((exp))这种计算是符合C语言的运算符,也就是说只要符合C的运算符都可用在$((exp)),甚至是三目运算符。注意:这种扩展计算是整数型的计算,不支持浮点型.若是逻辑判断,表达式exp为真则为1,假则为0。$ echo $((3+2))5$ echo $((3>2))1$ echo $((25<3 ? 2:3))3$ echo $var$ echo $((var=2+3))5$ echo $var5$ echo $((var++))5$ echo $var6$好了,上面的例子足够了,这也表明了这种扩展运算是很强大的。6.四种模式匹配替换结构:${var%pattern},${var%%pattern},${var#pattern},${var##pattern}这四种结构的意义是:${var%pattern}和${var%%pattern}表示从最右边(即结尾)匹配的,${var#pattern} 和${var##pattern}从最左边(即开头)匹配的。其中${var%pattern}和${var#pattern}是最短匹 配,${var%%pattern}和${var##pattern}是最长匹配。只有在pattern中使用了通配符才能有最长最短的匹配,否则没有最 长最短匹配之分。结构中的pattern支持通配符,*表示零个或多个任意字符,?表示零个或一个任意字符,[...]表示匹配中括号里面的字符,[!...]表示不匹配中括号里面的字符。$ var=aabbbccbbdbb$ echo ${var%b}aabbbccbbdb$ echo ${var%%b}aabbbccbbdb$ echo ${var#a}abbbccbbdbb$ echo ${var##a}abbbccbbdbb$ echo ${var%*b}aabbbccbbdb$ echo ${var%%*b}$ echo ${var#a*}abbbccbbdbb$ echo ${var##a*}$上面是简单的例举四种模式匹配替换结构的用法。其他(见man bash中的Parameter Expansion)${parameter/pattern/string}Pattern substitution.
The pattern is expanded to produce a pat-tern
as in pathname expansion.
Parameter is expanded andthe longest match of pattern against its value is replaced
withstring.
begins with /, all matches of pattern arereplaced
isreplaced.
If pattern begins with #, it must match at the begin-ning of the expanded value of parameter.
If pattern begins with%,
it must match at the end of the expanded value of parameter.If string is null, matches of pattern are deleted and the / fol-lowing pattern may be omitted.
If parameter is @ or *, the sub-stitution operation is applied to each positional
and the expansion is the resultant list.
If parameter isan array variable subscripted with
substitutionoperation
to each member of the array in turn, andthe expansion is the resultant list.
范文五:shell中的括号(小括号,大括号/花括号)开源中国社区JetBrains 开发工具全场7折,详情?软件讨论代码资讯翻译博客Android招聘当前访客身份: 22221cjp [ 我的空间 | 退出 ] 你有0新留言软件 xiangxw  关注此人关注(5) 粉丝(24) 积分(229)Best way to learn is to start learning.发送留言 .请教问题博客分类 shell(12)robot(1)c/c++(26)kernel(1)linux/lubuntu(28)vim(9)qt(15)windows(12)算法(5)数据库(4)wordpress(2)复习(9)其他(9)心情(2)阅读排行 1. shell获取当前目录名的几种方法2. shell中的括号(小括号,大括号/花括号)3. Qt头文件中的QT_BEGIN_NAMESPACE4. 磁道、柱面、扇区、磁盘簇、寻道时间、旋转延迟、存取时间5. ubuntu中的两个小工具趣味用法(notify-send,gnome-osd-client)6. 在windows下编译poppler(exit with code )7. mingw,cygwin8. vim替换时使用换行(插入新行)最新评论 @余书行:嗯,这个很好,特别是查看键名的功能。我是使用f... 查看?@xiangxw:引用来自“pingfanrenwl”的评论 您好,我***的... 查看?@pingfanrenwl:您好,我***的时候没有找到poppler-data (bin)这... 查看?@thuai:引用来自“GuiLin”的评论 引用来自“xiangxw”的... 查看?@thuai:非常感谢。。我d:/kde/lib/目录下没有libpopple... 查看?@xiangxw:引用来自“tanghuai”的评论 博主。我用windows... 查看?@thuai:博主。我用windows7。QtSdk 1.2。。QtCreator 2... 查看?@adong7639:这里为什么要用mat的地址,为什么不直接用mat 恩... 查看?@xiangxw:引用来自“Lenny”的评论 sudo chown -R www-da... 查看?@xiangxw:引用来自“Lenny”的评论 5,6两步不进行会有什么... 查看?访客统计 今日访问:38昨日访问:23本周访问:38本月访问:478所有访问:42930空间 ? 博客 ? shell ? 博客正文  shell中的括号(小括号,大括号/花括号)6人收藏此文章, 我要收藏 发表于2年前( 19:40) , 已有2983次阅读 ,共0个评论在这里我想说的是几种shell里的小括号,大括号结构和有括号的变量,命令的用法,如下:1.${var}2.$(cmd)3.()和{}4.${var:-string},${var:+string},${var:=string},${var:?string}5.$((exp))6.$(var%pattern),$(var%%pattern),$(var#pattern),$(var##pattern)现在分述如下:1.Shell中变量的原形:${var}大家常见的变量形式都是$var,如$ var=test$ echo $vartest但当你要显示变量值加随意的字符(我这里用AA)时,就会出错,如下:$ echo $varAA$这时应该用变量的原形:${var},即是加一个大括号来限定变量名称的范围,如下$ echo ${var}AAtestAA$以这个特性,我们可以很方便地写一个批量改后缀名的程序,我把它命名为mymv,程序如下:#!/bin/bashtail=$1for filename in `ls`domv $filename ${filename}.$taildone程序需要提供一个后缀名,如c,表示改为后缀为c的C程序文件,看下面的测试:$ lsa b c$ mymv c$ lsa.c b.c c.c$看样子程序运行的很好,但这是不完善的程序,有2个要注意的问题:A,目录下没有子目录,如果有一个目录,假设为dir,则也会被改为dir.c,这显然不是我们想要的,应该修正这个程序能识别目录。B,没有帮助对程序的参数进行处理,程序应该足够友好,在用户没有给定后缀名时应能处理,像上面的将直接给文件加上了一个点(.),这显然也不是我们想要的。因为我们的目的是说明${var},这样已经足够了,因此这里不会再对上面的程序进行修正。2.命令替换$(cmd)命令替换$(cmd)和符号`cmd`(注意这不是单引号,在美式键盘上,`是ESC下面的那个键)有相同之处$ lsa b c$ echo $(ls)a b c$ echo `ls`a b c我们来分析一下命令echo $(ls),以便理解所谓命令替换是什么意思:shell扫描一遍命令行,发现了$(cmd)结构,便将$(cmd)中的cmd执行一次,得到其标准输出,再将此输出放到原来命令echo $(ls)中的$(ls)位置,即替换了$(ls),再执行echo命令。如下:echo $(ls)被替换成了echo a b c这里要注意的是$(cmd)中的命令的错误输出是不会被替换的,替换的只是标准输出:$ var=$(cat d) ###文件d在当前目录不存在cat: d: 没有那个文件或目录$ echo $var$ ###显然var变量的值是空的3.一串的命令执行()和{}()和{}都是对一串的命令进行执行,但有所区别:A,()只是对一串命令重新开一个子shell进行执行B,{}对一串命令在当前shell执行C,()和{}都是把一串的命令放在括号里面,并且命令之间用;号隔开D,()最后一个命令可以不用分号E,{}最后一个命令要用分号F,{}的第一个命令和左括号之间必须要有一个空格G,()里的各命令不必和括号有空格H,()和{}中括号里面的某个命令的重定向只影响该命令,但括号外的重定向则影响到括号里的所有命令我们来看几个例子:$ var=test$ (var= echo $var) ###变量var值为notest,此是在子shell中有效notest$ echo $var ###父shell中值仍为testtest$ { var= echo $} ###注意左括号和var之间要有一个空格notest$ echo $var ###父shell中的var变量的值变为了notestnotest$ { var1=test1;var2=test2;echo $var1>a;echo $var2;} ###输出test1被重定向到文件a中,test2 ###而test2输出则仍输出到标准输出中。$ cat atest1$ { var1=test1;var2=test2;echo $var1;echo $var2;}>a ###括号内命令的标准输出全部被重定向到文件a中$ cat atest1test2下面是一个脚步例子:(echo "1"echo "2") | awk '{print NR,$0}'4,几种特殊的替换结构:${var:-string},${var:+string},${var:=string},${var:?string}A,${var:-string}和${var:=string}若变量var为空,则用在命令行中用string来替换${var:-string},否则变量var不为空时,则用变量var的值来替换${var:-string}如:$ echo $newvar$ echo ${newvar:-a}a$ echo $newvar ###变量newvar的值仍然是空,但上一命令行中${newvar:-a}被替换成了a$ newvar=b$ echo ${newvar:-a} ###变量newvar的值不为空时,此命令行中的${newvar:-b}被替换为$newvar,即bb$对于${var:=string}的替换规则和${var:-string}是一样的,所不同之处是${var:=string}若var为空时,用string替换${var:=string}的同时,把string赋给变量var:$ echo $newvar$ echo ${newvar:=a}a$ echo $newvar ###变量newvar被赋值为a,同时${newvar:=a}被替换成aa$ echo ${newvar:=b} ###变量newvar不为空(其值已被赋为a),则${newvar:=b}被替换为newvar的值(即b)a$ echo $newvara${var:=string}很常用的一种用法是,判断某个变量是否赋值,没有的话则给它赋上一个默认值。如设置默认的编辑器:PHP 代码:echo You use editor: ${EDITOR:=/bin/vi}B,${var:+string}${var:+string}的替换规则和上面的相反,即只有当var不是空的时候才替换成string,若var为空时则不替换或者说是替换成变量 var的值,即空值。(因为变量var此时为空,所以这两种说法是等价的)$ echo $newvara$ echo ${newvar:+b}b$ echo $newvara$ newvar=$ echo ${newvar:+b}$C,${var:?string}替换规则为:若变量var不为空,则用变量var的值来替换${var:?string};若变量var为空,则把string输出到标准错误中,并从脚本中退出。我们可利用此特性来检查是否设置了变量的值。$ newvar=$ echo ${newvar:?没有设置newvar的值}bash: newvar: 没有设置newvar的值$ newvar=a$ echo ${newvar:?没有设置newvar的值}a$补充扩展:在上面这五种替换结构中string不一定是常值的,可用另外一个变量的值或是一种命令的输出。$ echo ${var:-`date`}日 3月 6 02:10:39 CST 2005$ echo ${var:-$(date)}日 3月 6 02:11:46 CST 2005$ a=test$ echo ${var:-$a}test$5.POSIX标准的扩展计算:$((exp))这种计算是符合C语言的运算符,也就是说只要符合C的运算符都可用在$((exp)),甚至是三目运算符。注意:这种扩展计算是整数型的计算,不支持浮点型.若是逻辑判断,表达式exp为真则为1,假则为0。$ echo $((3+2))5$ echo $((3>2))1$ echo $((25<3 ? 2:3))3$ echo $var$ echo $((var=2+3))5$ echo $var5$ echo $((var++))5$ echo $var6$好了,上面的例子足够了,这也表明了这种扩展运算是很强大的。6.四种模式匹配替换结构:${var%pattern},${var%%pattern},${var#pattern},${var##pattern}这四种结构的意义是:${var%pattern}和${var%%pattern}表示从最右边(即结尾)匹配的,${var#pattern} 和${var##pattern}从最左边(即开头)匹配的。其中${var%pattern}和${var#pattern}是最短匹 配,${var%%pattern}和${var##pattern}是最长匹配。只有在pattern中使用了通配符才能有最长最短的匹配,否则没有最 长最短匹配之分。结构中的pattern支持通配符,*表示零个或多个任意字符,?表示零个或一个任意字符,[...]表示匹配中括号里面的字符,[!...]表示不匹配中括号里面的字符。$ var=aabbbccbbdbb$ echo ${var%b}aabbbccbbdb$ echo ${var%%b}aabbbccbbdb$ echo ${var#a}abbbccbbdbb$ echo ${var##a}abbbccbbdbb$ echo ${var%*b}aabbbccbbdb$ echo ${var%%*b}$ echo ${var#a*}abbbccbbdbb$ echo ${var##a*}$上面是简单的例举四种模式匹配替换结构的用法。其他(见man bash中的Parameter Expansion)${parameter/pattern/string}Pattern substitution.
The pattern is expanded to produce a pat-tern
as in pathname expansion.
Parameter is expanded andthe longest match of pattern against its value is replaced
withstring.
begins with /, all matches of pattern arereplaced
isreplaced.
If pattern begins with #, it must match at the begin-ning of the expanded value of parameter.
If pattern begins with%,
it must match at the end of the expanded value of parameter.If string is null, matches of pattern are deleted and the / fol-lowing pattern may be omitted.
If parameter is @ or *, the sub-stitution operation is applied to each positional
and the expansion is the resultant list.
If parameter isan array variable subscripted with
substitutionoperation
to each member of the array in turn, andthe expansion is the resultant list.关键字: shell 括号 花括号 小括号 大括号原文地址:/nnsvc/blog/item/88f0fc1ae8f23ff2ae513369.html? 正则表达式中的组(group)shell参数展开 ?开源中国-程序员在线工具:API文档大全(120+) JS在线编辑演示 二维码 更多>>分享到: 顶已有 1人顶共有 0 条网友评论尚无网友评论文明上网,理性发言 回到页首 | 回到评论列表关闭相关文章阅读
XCode中if/while/for后面花括号默认... linux中花括号的用法 括号检测 常用PHP中花括号({})使用规则详解... Eclipse大括号换行显示? 开源中国(OsChina.NET) | 关于我们 | 广告联系 | @新浪微博 | 开源中国手机版 | 粤ICP备号-3 开源中国手机客户端: Android iPhone WP7

参考资料

 

随机推荐