1、一维数组

  定义:A={test1 test2 test3}

  引用:echo ${A[0]} 表示引用第一个数组变量 echo ${A[1]} 表示引用第二个数组变量

  显示数据参数:echo ${A[@]}  显示参数个数 echo ${#A[@]}

  替换数组元素test2换成test5 ->echo ${A[@]/tets2/test5}

2、sed命令

  1)sed 's/192.10/192.168/g' test.txt  ->预修改test.txt中192.10变成192.168,但是test.txt依旧是192.10,只是预替换。

     其中格式为's/old/new/g',格式中s表示找到全部的old。真正替换为sed -i 's/192.10/192.168/g' test.txt。

  2)sed 's/^/&A/g' test.txt 表示在test.txt中每一行首添加A,其中^表示行首,&表示添加,$表示行尾。

  3)sed '/hdc/a 520' test.txt 表示在text.txt中的hdc后添加一行520。

     sed '/hdc/i 520' test.txt 表示在text.txt中的hdc前添加一行520。

  4)sed -n '/hdc/p' test.txt 表示打印hdc所在的行,其中n表示打印,p表示输出print。

     sed -n '1p' test.txt 打印第一行。

     sed -n '1,2p' test.txt 打印第一,二行。

3、grep命令

  grep "^10" test.txt 在当前目录中的test.txt文件中查找以10开头的行

  grep "$11" test.txt 在当前目录中的test.txt文件中查找以11结尾的行

  cat test.txt | grep -E "([0-9]{1,3}\.){3}[0-9]{1,3}" 匹配ip地址如172.168.25.3

  egrep "hdc|123" test.txt 在当前目录中的test.txt文件中查找hdc或者123的行

4、awk命令

  cat /etc/passwd | awk -F: '{print $1}' 其中-F:表示以:来切割(区分列)

  ifconfig eth1 | grep "Bcast"  | awk '{print $2}'

  提取网卡eth1中的IP地址:ifconfig eth1 | grep "Bcast" | awk '{print $2}' | sed 's/addr://g'

              ifconfig eth1 | grep "Bcast" | awk '{print $2}' | awk -F:'{print $2}'

5、find命令

  格式:find 目录 -name "test.txt" 后面可接命令

    find . -name "test.txt" 寻找当前目录中test.txt文件

    find . -maxdepth 1 -name "test.txt" 寻找当前目录中第一级目录的test.txt文件     

   

    find -size +20 寻找大小大于20MB的文件

    

shell编程基础知识2的更多相关文章

  1. shell编程基础知识

    什么是shell shell是一个命令解释器,它在操作系统的最外层,负责直接与用户对话,把用户的输入解释给操作系统,并处理各种各样的操作系统的输出结果,输出屏幕返回给用户 shell对话方式 交互的方 ...

  2. Shell编程基础知识(一)

    一.基本的运行Linux程序的3种方法: (1) 使文件具有可执行权限,直接运行文件.eg:  chmod a+x testfile.sh   ./testfile.sh (2) 直接调用命令解释器来 ...

  3. shell编程基础知识3

    1.Linux下scp的用法 scp就是secure copy,一个在linux下用来进行远程拷贝文件的命令.有时我们需要获得远程服务器上的某个文件,该服务器既没有配置ftp服务器,也没有做共享,无法 ...

  4. SHELL脚本编程基础知识

    SHELL脚本编程基础知识 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Linux之父Linus有一句话很经典:"Talk is cheap, show me the ...

  5. Shell编程(二)——shell的基础知识及常用命令

    shell的基础知识 一.bash有以下特点: 1.记录命令历史 2.指令和文件名补全 3.别名 alias rm='rm -i' 4.通配符 * 0个或多个字符 ?​匹配一个字符 5 输入输出重定向 ...

  6. 【转】Shell编程基础篇-上

    [转]Shell编程基础篇-上 1.1 前言 1.1.1 为什么学Shell Shell脚本语言是实现Linux/UNIX系统管理及自动化运维所必备的重要工具, Linux/UNIX系统的底层及基础应 ...

  7. TCP与UDP比较 以及并发编程基础知识

    一.tcp比udp真正可靠地原因 1.为什么tcp比udp传输可靠地原因: 我们知道在传输数据的时候,数据是先存在操作系统的缓存中,然后发送给客户端,在客户端也是要经过客户端的操作系统的,因为这个过程 ...

  8. 【Shell 编程基础第二部分】Shell里的流程控制、Shell里的函数及脚本调试方法!

    http://blog.csdn.net/xiaominghimi/article/details/7603003 本站文章均为李华明Himi原创,转载务必在明显处注明:转载自[黑米GameDev街区 ...

  9. 什么是Shell?Shell脚本基础知识详细介绍

    这篇文章主要介绍了什么是Shell?Shell脚本基础知识介绍,本文是一篇Shell脚本入门文章,在本文你可学到什么是Shell.有多少种Shell.一个Shell脚本代码实例,需要的朋友可以参考下 ...

随机推荐

  1. java单双引号转义问题

    JavaScript代码:var str = '<a href="javascript:;" onclick="visaDetail(\'1\',' + value ...

  2. PerPoly Collision(用物体本身模型做碰撞)

    打开static mesh editor,在static mesh settings里找到collision complexity选项,选择最后一项: Use Complex collision as ...

  3. NSProxy实现AOP方便为ios应用实现异常处理策略

    前段时间关注过objc实现的AOP. 在GitHub找到了其中的两个库:AOP-in-Objective-C 和 AOP-for-Objective-C 第一个是基于NSProxy来实现的:第二个是基 ...

  4. 【进阶技术】一篇文章搞掂:Spring Cloud Stream

    本文总结自官方文档http://cloud.spring.io/spring-cloud-static/spring-cloud-stream/2.1.0.RC3/single/spring-clou ...

  5. BLOB类型的字段用于存储二进制数据

    MySQL中,BLOB是个类型系列,包括:TinyBlob.Blob.MediumBlob.LongBlob,这几个类型之间的唯一区别是在存储文件的最大大小上不同. MySQL的四种BLOB类型类型 ...

  6. random——伪随机数生成模块

    random——伪随机数生成模块 转自:https://blog.csdn.net/zhtysw/article/details/79978197 该模块包含构造伪随机数生成器的多个方法.对于整数,伪 ...

  7. linux新建用户并修改提示符

    1 新建用户 # useradd –d /home/ap/testapp -m testapp 此命令创建了一个用户testapp ,其中-d和-m选项用来为登录名testapp 产生一个主目录/ho ...

  8. ASP.NET MVC Filter过滤机制(过滤器、拦截器)

    https://blog.csdn.net/knqiufan/article/details/82413885 本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/ ...

  9. (appium+python)UI自动化_07_app UI自动化实例【叮咚搜索加车为例】

    前言 初学UI自动化的小伙伴,在配置好appium+python自动化环境后,往往不知道如何下手实现自动化.小编在初期学习的时候也有这种疑惑,在此以叮咚买菜app-搜索加车为实例,展示下appium是 ...

  10. fatal error C1047: The object or library file xxx was created with an older compiler than other objects

    之前编译Cocos2DX时遇到过一次,这次又遇到了,记下解决方法,以防再来第三次. 这个错误是说链接的库或者文件是老版本编译器生成的,与当前编译器不符,比如这次用的预编译库是2015的,而我当前使用的 ...