Linux学习笔记——Shell编程(九)

+++++++++++++++++++++++++ +++++Shell编程+++++++++++++++++++++++++++++++

1. 基础正则表达式

正则表达式与通配符:

正则表达式用来在文件中匹配符合条件的字符串,正则是包含匹配,grep awk sed等命令可以支持正则表达式;通配符是用来匹配符合条件的文件名,通配符是完全匹配,ls find cp这些命令不支持正则表达式,所以只能用shell自己的通配符来匹配。

基础正则表达式:

    

2. 字符截取命令

字段提取命令:cut [选项] 文件名

选项:-f(提取第几列)     -d(按照指定分隔符分割列)

注:cut命令的局限

格式化输出命令:printf  ‘输出类型输出格式’      输出内容

输出类型:

输出格式:

注:在awk命令的输出中支持print和printf命令,两者的区别是print会自动加入换行符。

截取指定的列:awk      ‘条件1{动作1}条件2{动作2}条件3{动作3}...’     文件名     (与cut命令功能一样,但比cut功能更强大)

条件——一般使用关系表达式作为条件

动作——格式化输出或流程控制语句

流编辑器:sed [选项]      ‘[动作]‘     文件名

选项:-n(将相应的行输出)     -e(允许对输入数据应用多条sed动作编辑)     -i(用sed的修改结果直接休息读取数据的文件,而不是由屏幕输出)

动作:

注:sed是一种几乎包括在所有UNIX平台的轻量级流编辑器。sed命令主要用来将数据进行选取、替换、删除、新增的命令。

3. 字符处理命令

排序命令:sort     [选项]     文件名

选项:

统计命令:wc     [选项]     文件名

选项:-l(只统计行数)     -w(只统计单词数)     -m(只统计字符数)

4. 条件判断

按照文件类型进行判断

按照文件权限进行判断

两个文件之间进行比较

两个整数之间的比较

字符串的判断

多重条件判断

5. 流程控制

if语句

单分支if语句

双分支if条件语句

多分支if条件语句

多分支case条件语句

for循环

while循环和until循环

+++++++++++++++++++++++++ +++++Shell编程+++++++++++++++++++++++++++++++

时间: 2024-10-14 21:16:16

Linux学习笔记——Shell编程(九)的相关文章

Linux学习之Shell编程基础

转自:http://my.oschina.net/itblog/blog/204410 1 语法基本介绍1.1 开头 程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序.在这个例子中我们使用/bin/sh来执行程序.  当编辑好脚本时,如果要执行该脚本,还必须使其可执行.  要使脚本可执行: 编译 chmod +x filename 这样才能用./filename 来运行 1.2 注释  在进行shell编程时,以#开头的

Linux学习笔记——Shell基础(八)

+++++++++++++++++++++++++ +++++Shell基础+++++++++++++++++++++++++++++++ 1. Shell概述 Shell定义: Shell 是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动.挂起.停止甚至编写一些程序. Shell还是一个功能相当强大的编程语言,易编写.调试.Shell是解释执行的脚本语言,在Shell中可以直接调用Linux系统命令. Shell分类: Bo

linux学习笔记:shell脚本编程相关(上)

前言 unix/linux操作系统下的shell,是一种壳,其目的是提供一个用户与计算机相互交互的命令接口,通过输入各种命令,达到操作的目的. 与此同时,shell支持控制流程,进而可以组合出各种各样的应用实例. shell脚本的格式 首行shebang机制: bash脚本,首行添加#!/bin/bash [options] csh脚本,首行添加#!/bin/csh [options] ksh脚本,首行添加#!/bin/ksh [options] -- 描述脚本的注释部分: 包括Author,

Linux学习笔记(十九)文件压缩

一.常见的压缩文件 Windows .rar .zip .7z Linux .zip,.gz,.bz2,.xz,.tar.gz,.tar.bz2,.tar.xz文件压缩可以节省内存,也可以节省传输速度 二.gzip首先创建了一个文件夹 /tmp/d6z/找了些比较大的文件写入1.txt例如find /etc/ -type f -name "*conf" -exec cat {} >> 1.txt \ :多执行几次 gzip 1.txt 就可以将文件1.txt压缩并且删除源文

linux学习笔记-第十九课-LAMP之php 与 mysql 配置(三)

一.php 编译完的php,配置文件为空,我们需要将php的配置文件(php.ini)从解压的源码包中的php.ini-development(开发调试模板)和php.ini-production(生产运行模板)中复制一份到php的配置目录中,且名字改为php.ini 1 )disable_functions 配置 默认为空,修改为 disable_functions = eval,assert,popen,passthru,escapeshellarg,escapeshellcmd,passt

linux学习笔记-第十九课-LAMP之网站搭建(二)

一.网站搭建前提 搭建好LAMP运行环境 下载网站程序,这里以Discuz X 3.2 作为示例 Discuz 程序下载地址:    简体中文GBK http://download.comsenz.com/DiscuzX/3.2/Discuz_X3.2_SC_GBK.zip    繁体中文BIG5 http://download.comsenz.com/DiscuzX/3.2/Discuz_X3.2_TC_BIG5.zip    简体UTF-8 http://download.comsenz.c

Linux学习笔记<二十九>——http服务

基础概念: HTTP:Hyper Text Transfer Protocol 超文本传输协议 versions: HTTP/0.9:只接收GET一种请求方法,只支持纯文本 HTTP/1.0:支持PUT.POST.DELETE和HEAD,支持MINE HTTP/1.1:在HTTP/1.0的基础上,增加了缓存功能,支持长连接,支持管道方式同时                  发送多个请求 HTTP请求方法:获取资源的方法 HTTP/0.9:GET HTTP/1.0:PUT(修改服务器上的内容),

linux学习笔记-第十九课-LAMP之 mysql (四)

mysql日常操作指令 1 )mysql管理员密码的更改,mysql安装完毕后,管理员root的密码默认为空,需要进行修改 格式 :mysqladmin -u root password '新密码' 示例 : [[email protected] ~]# mysqladmin -u root password '123456' [[email protected] ~]# mysql -u root -p # 这时候就需要使用密码登陆mysql Enter password:          

<LINUX >bash shell 入门 --linux学习笔记

首先说下我个人对于shell的理解,我觉得shell是一种通过各种控制语句将linux命令进行集合实现批处理的一种脚本语言. shell编程入门其实很简单,语法知识并不多,但是高级shell编程就很难,因为shell是用户和linux之间的桥梁,要编写高质量的shell脚本,就需要用户对linux有很全面的认识. 这里我们只分析shell脚本的语法知识,如想透彻的学习linux还需多努力. shell结构       1.#!指定执行脚本的shell 2.#注释行 3.命令和控制结构 创建she