当前位置: 首页 > news >正文

做网站开发 甲方提供资料深圳专业做网站开发费用

做网站开发 甲方提供资料,深圳专业做网站开发费用,哪里有网站建设企业,自己的网站目录 0 前言1 readarray命令的格式和功能 1.1 命令格式1.2 命令功能1.3 注意事项2 命令应用实例 2.1 从标准输入读取数据时不指定数组名#xff0c;则数据会保存到MAPFILE数组中2.2 从标准输入读取数据并存储到指定的数组2.3 使用 -O 选项指定起始下标2.4 用-n指定有效行数…  目录  0 前言1  readarray命令的格式和功能 1.1 命令格式1.2 命令功能1.3 注意事项2 命令应用实例 2.1 从标准输入读取数据时不指定数组名则数据会保存到MAPFILE数组中2.2 从标准输入读取数据并存储到指定的数组2.3 使用 -O 选项指定起始下标2.4 用-n指定有效行数2.5 用-s来路过部分数据2.6 用-c和-C选项使用回调程序2.7 使用输出重定向和-t选项从磁盘文件中读取数据3 mapfile命令 0 前言 在交互式编程中数组元素的值有时是需要从程序外部输入的。比如由用户通过键盘输入的这时我们可以使用read -a命令来实现但需要重复输入的数据比较多时用read -a命令就不太方便效率也不够高。而且对于有些经常使用的固定数据我们可以把这些数据存放在一个文件里然后在使用这些数据的时候再从文件里把数据读出来。 为此Linux专门提供了 readarray命令。 1  readarray命令的格式和功能 我们 可以使用命令 help readarray 来查看 readarray 命令的帮助信息。 purleEndurer bash ~ $ help readarray readarray: readarray [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]     Read lines from a file into an array variable.          A synonym for mapfile. purleEndurer bash ~ $ readarray --help bash: readarray: --: invalid option readarray: usage: readarray [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array] purleEndurer bash ~ $  可惜help readarray命令 显示的帮助信息不多。我们 又尝试  readarray --help 命令但是readarray 命令不支持 --help 选项。 1.1 命令格式 readarray [-n 最大行数] [-O 起始下标] [-s 跳过行数] [-t] [u 文件描述符] [-C 回调程序] [-c 行数] [数组名] 选项说明备注-c 行数 每读取指定行数就调用一次-C 回调程序选项指定的回调程序 默认为每5000行调用一次回调程序 count-C 回调程序每读取-c 行数选项指定的行数就执行一次回调程序callback-n 最大行数 最多只拷贝指定的最大行数的数据到数组中 默认为0即拷贝所有行。 number-O 起始下标 指定从哪个下标开始存储数据默认为0。 对于二维数组来说指定的是起始行数。 origin-s 跳过行数忽略指定的跳过行数中的数据从跳过行数之后开始skip-t 移除尾随行分隔符默认是换行符 主要配合 -u选项使用 trim-u 文件描述符指定从文件描述符而非标准输入中读取数据use 1.2 命令功能 从标准输入或指定文件读取数据并存储到指定的数组中。 1.3 注意事项 在标准输入数据时按Enter键换行输完所有数据后要按CtrlD来结束输入CtrlD在屏幕上无显示。如果指定的数组变量原来已储存有数值在使用readarray命令时没有-O选项那么数组变量中原有的数据会先被清空然后再存储新读取的数据。如果不指定数组名则数据会保存到MAPFILE数组中。 2 命令应用实例 2.1 从标准输入读取数据时不指定数组名则数据会保存到MAPFILE数组中 例 2.1   purpleEndurer bash ~ $ readarray 1 1 1 2 2 2 purpleEndurer bash ~ $ echo $REPLY purpleEndurer bash ~ $ echo $MAPFILE 1 1 1 purpleEndurer bash ~ $ echo ${MAPFILE[*]} 1 1 1 2 2 2 purpleEndurer bash ~ $ echo ${MAPFILE[0]} 1 1 1 purpleEndurer bash ~ $ echo ${MAPFILE[1]} 2 2 2 purpleEndurer bash ~ $  我们输入了1 1 1和2 2 2两行数据后按CtrlD结束输入。 对于read命令如果不指定用来存储数据的变量名数据将保存在变量REPLY中。 但对于readarray命令如果不指定用来存储数据的数组变量名数据将保存到存储到MAPFILE数组中。 2.2 从标准输入读取数据并存储到指定的数组 例2.2 从标准输入读取两行数据并存储到指定的数组变量a purpleEndurer bash ~ $ readarray a 1 2 3 4 5 6 purpleEndurer bash ~ $ echo $a 1 2 3 purpleEndurer bash ~ $ echo ${a[*]} 1 2 3 4 5 6 purpleEndurer bash ~ $ echo ${a[0][*]} 1 2 3 purpleEndurer bash ~ $ echo ${a[1][*]} 4 5 6 purpleEndurer bash ~ $  我们输入了 1 2 3和4 5 6两行数据可以看到数据存储到数组变量a中。 系统默认从数组下标0开始存储所以命令执行的结果如下 a[0][0]1  a[0][1]2  a[0][2]3 a[1][0]4  a[1][1]5  a[1][2]6 2.3 使用 -O 选项指定起始下标 例 2.3.1 在例2.2的基础上我们继续从标准输入读取两行数据并存储到指定的数组a起始下标为1 purpleEndurer bash ~ $ readarray -O1 a a b c d e f purpleEndurer bash ~ $ echo ${a[*]} 1 2 3 a b c d e f purpleEndurer bash ~ $ echo ${a[1][*]} a b c purpleEndurer bash ~ $ echo ${a[2][*]} d e f purpleEndurer bash ~ $    我们输入了a b c和d e f 两行数据。由于我们指定从下标1开始 所以二维数组a的第一行数据没有变化 二维数组a的第二行数据变成 [a b c] [d e f]则变成了二维数组a的第三行的数据。 这时的二维数组a的值为 a[0][0]1  a[0][1]2  a[0][2]3 a[1][0]a  a[1][1]b  a[1][2]c a[2][0]d  a[2][1]e  a[2][2]f 可见对于二维数组来说-O指定的是起始行数。 那么对于一维数组呢-O指定的是什么呢 我们通过下面的例子来看一下。 例2.3.2 先定义一维数组a并初始化其值为1 2 3然后用readarray命令读取数据 a b c并指定从数组a的下标2开始存储。 purpleEndurer bash ~ $ a( 1 2 3) purpleEndurer bash ~ $ echo $a 1 purpleEndurer bash ~ $ echo ${a[*]} 1 2 3 purpleEndurer bash ~ $ readarray -O2 aa b cpurpleEndurer bash ~ $ echo ${a[*]} 1 2 a b c purpleEndurer bash ~ $  注意 在输入a b c后要按CtrlD两次这样可以让数组a保持为一维数组。 如果按下了Enter键数组a将变成二维数组。 可以看到对于一维数组来说-O选项指定的是元素的下标。 例2.3.3 不使用-O选项指定数组名中原有数据会先被清空 purpleEndurer bash ~ $ readarray a 1 2 3 4 purpleEndurer bash ~ $ echo ${a[*]} 1 2 3 4 purpleEndurer bash ~ $ readarray a a b purpleEndurer bash ~ $ echo ${a[*]} a b purpleEndurer bash ~ $  在第一次执行 readarray a 命令时我们输入的数据1、2、3、4被存储到数据变量a中。 在第二次执行 readarray a 命令时我们输入的数据a、b被存储到数据变量a中原来的数据1、2、3、4被清空了。 2.4 用-n指定有效行数 例 2.4 从标准输入读取2行数据储存到数组变量a。 purpleEndurer bash ~ $ echo $a purpleEndurer bash ~ $ readarray -n 2 a 1 1 1 2 2 2 purpleEndurer bash ~ $ echo ${a[*]} 1 1 1 2 2 2 purpleEndurer bash ~ $ echo ${a[1]} 2 2 2 purpleEndurer bash ~ $ echo ${a[0]} 1 1 1 purpleEndurer bash ~ $  可以看到我们输入两行数据后readarray命令就自动停止输入并将我们输入的数据存储到数组变量a中。 2.5 用-s来路过部分数据 例 2.5 跳过标准输入中的前2行数据将后续的数据存储到数组变量a中。 purpleEndurer bash ~ $ echo $a purpleEndurer bash ~ $ readarray -s 2 a 1 1 1 2 2 2 3 3 3 4 4 4  purpleEndurer bash ~ $ echo ${a[*]} 3 3 3 4 4 4 purpleEndurer bash ~ $ echo ${a[1]} 4 4 4 purpleEndurer bash ~ $ echo ${a[0]} 3 3 3 purpleEndurer bash ~ $  我们输入了1 1 1 、2 2 2、3 3 3、4 4 4四行数据由于-s 2 选项前两行数据1 1 1 、2 2 2被跳过数组变量a存储的数据是3 3 3、4 4 4即 a[0][0]3 a[0][1]3  a[0][2]3 a[1][0]4  a[1][1]4  a[1][2]4 2.6 用-c和-C选项使用回调程序 例 2.6 从标准输入读取数据每读入2行数据就调用echo命令显示字符串--- purpleEndurer bash ~ $ readarray -c 2 -C echo --- a b --- 1 b c d --- 3 d e f --- 5 f purpleEndurer bash ~ $ echo ${MAPFILE[*]} a b c d e f purpleEndurer bash ~ $  2.7 使用输出重定向和-t选项从磁盘文件中读取数据 例2.7.1 利用seq命令创建数据文件d.txt然后利用readarray和输入重定向将数据文件d.txt的内容存储到数组变量a purpleEndurer bash ~ $ seq 5 d.log purpleEndurer bash ~ $ cat d.log 1 2 3 4 5 purpleEndurer bash ~ $ readarray a d.log purpleEndurer bash ~ $ echo ${a[*]} 1 2 3 4 5 purpleEndurer bash ~ $ echo ${#a[*]} 5 purpleEndurer bash ~ $ echo ${#a[1]} 2 purpleEndurer bash ~ $ echo ${#a[1][1]} 2 purpleEndurer bash ~ $ echo ${#a[1][2]} 2 例2.7.2 在使用输入重定向和readarray -t 命令从例2.7.1创建的d.txt文件读取数据存储到数组变量a purpleEndurer bash ~ $ readarray -t a d.log purpleEndurer bash ~ $ echo ${a[*]} 1 2 3 4 5 purpleEndurer bash ~ $ echo ${#a[*]} 5 purpleEndurer bash ~ $ echo ${#a[1][1]} 1 purpleEndurer bash ~ $ echo ${#a[1][2]} 1 purpleEndurer bash ~ $ echo ${#a[1]} 1 purpleEndurer bash ~ $  从 echo ${a[*]}  和  echo ${#a[*]} 的命令执行结果来看readarray a d.log 和 readarray -t a d.log 执行的结果似乎是一样的。 但从echo ${#a[1]}、echo ${#a[1][1]}、echo ${#a[1][2]}命令的执行结果看readarray a d.log 和 readarray -t a d.log 执行的结果是不一样的。 这是因为readarray a d.log 没有过滤换行符。 3 mapfile命令 mapfile命令不仅在功能上和readarray命令相同而且在命令格式上也和readarray命令相同。 但是mapfile命令的帮助信息比readarray命令要详细得多。 purpleEndurer bash ~ $ help mapfile mapfile: mapfile [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]     Read lines from the standard input into an indexed array variable.          Read lines from the standard input into the indexed array variable ARRAY, or     from file descriptor FD if the -u option is supplied.  The variable MAPFILE     is the default ARRAY.          Options:       -n count  Copy at most COUNT lines.  If COUNT is 0, all lines are copied.       -O origin Begin assigning to ARRAY at index ORIGIN.  The default index is 0.       -s count  Discard the first COUNT lines read.       -t                Remove a trailing newline from each line read.       -u fd             Read lines from file descriptor FD instead of the standard input.       -C callback       Evaluate CALLBACK each time QUANTUM lines are read.       -c quantum        Specify the number of lines read between each call to CALLBACK.          Arguments:       ARRAY             Array variable name to use for file data.          If -C is supplied without -c, the default quantum is 5000.  When     CALLBACK is evaluated, it is supplied the index of the next array     element to be assigned and the line to be assigned to that element     as additional arguments.          If not supplied with an explicit origin, mapfile will clear ARRAY before     assigning to it.          Exit Status:     Returns success unless an invalid option is given or ARRAY is readonly or     not an indexed array. purpleEndurer bash ~ $
http://wiki.neutronadmin.com/news/363979/

相关文章:

  • 网站建设费 什么科目app开发源码
  • 上海做网站就用乐云seo十年用html做的零食网站
  • 单机网页游戏网站wordpress主页显示标题设置
  • 网上做家教兼职哪个网站哈尔滨app开发
  • 建站公司网站源码泰安网站制作电话
  • 网站用什么主机广州做网站平台的企业
  • 怎么做监测网站的浏览量大型小程序软件开发
  • 网站建设平台还有没有趋势老版本网站开发工具
  • 如何看配色网站安徽两学一做网站
  • 快速做网站哪家好wordpress主题哥
  • 网站建设建设哪家好客户管理系统内容
  • 你那个没封的网站怎么做啊国家网站后缀
  • 公司搭建一个网站重庆建站塔山双喜
  • 如何网站公司小程序wordpress优化思路
  • 网站域名怎么快速备案自己购买模板建站
  • 免费做国际网站深圳画册设计师
  • 网站不被百度收录5种有效增加网站流量
  • 网站换空间 site手机免费建站工具
  • 有没有人一起做网站wordpress分析
  • 做团购网站视频wordpress 显示ip
  • 建个人网站需要钱嘛建设网站详细流程
  • 优质网站建设方案中国上市公司排行榜
  • 合同下载网站郑州专业seo首选
  • 海珠免费网站建设手把手教 个人网站开发
  • 随州制作网站做淘宝联盟网站
  • 后盾网原创实战网站建设教程1-15广州网站建设与网页设计
  • 网站控制板面个人手机网站开发
  • 怎么阐述自己做的网站医院网站建设方案策划书
  • 网站建设是由什么组成的泰安市齐鲁人才网
  • html网站标题怎么做的最近的重要新闻