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

百度手机网站制作2014网站推广方案

百度手机网站制作,2014网站推广方案,手机交互网站,全国十大猎头公司目录 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://www.yutouwan.com/news/387318/

相关文章:

  • 建一个公司网站花多少钱外贸seo博客
  • AWS免费套餐做网站可以吗网站建设一般多少钱新闻
  • 帮企业做网站赚钱吗全球网站建设服务商
  • 怎样保证网站的安全性林州网站建设制作
  • 长春做商业平台网站京润珍珠企业网站优化
  • 网站开发一个人可以完成吗做系统那个网站好
  • 梧州高端网站建设服务网站域名包括哪些
  • 做优惠券网站苏州优化有限公司
  • 增城网站公司电话建设招标网网站
  • 昆明云南微网站制作哪家好网络技术有限公司是什么
  • 如何提升网站的搜索排名网站优化可以自己做么
  • 如何在电商网站做市场调研东营网站制作公司
  • 湖南营销型网站建设磐石网络北京餐饮设计公司
  • div做网站定制平台有哪些
  • 怎么做qq刷赞等网站网站短时间怎么做权重
  • 网站外链怎么购买网站网页设计如何选
  • 新开网站seo搭建网站平台需要多少钱
  • 百度站长论坛福州精美个人网站建设公司
  • 网站做背景不显示单位网站备案要等多久
  • 资讯类网站模板asp秦皇岛市人事考试网
  • 江西安福县建设局网站金融网站建设案例
  • 宝山品牌网站建设口碑好的合肥网站建设
  • wordpress客户端建站时间轴网站模板
  • go做的网站好看的企业网站首页
  • 大宗商品价格查询网站网页设计培训传智教育
  • 做教育培训网站的公司wordpress主题整合
  • dw网站建设怎么放在网上无锡软件外包公司排名
  • 有哪些做汽车变速箱的门户网站网站除了域名还要什么
  • 自助做网站傻瓜式自助建站工具商城类网站主要分为哪些模块
  • h5成品网站东莞网站开发哪家强