Shell脚本之sed详解】的更多相关文章

在编写shell脚本的过程中,我们经常需要使用sed流编辑器和awk对文本文件进行处理. 一.什么是sed? sed 是一种在线编辑器,它一次处理一行内容.sed是非交互式的编辑器.它不会修改文件,除非使用shell重定向来保存结果.默认情况下,所有的输出行都被打印到屏幕上. 二.sed的处理过程 sed编辑器逐行处理文件(或输入),并将结果发送到屏幕.具体过程如下:首先sed把当前正在处理的行保存在一个临时缓存区中(也称为模式空间),然后处理临时缓冲区中的行,完成后把该行发送到屏幕上.sed每…
1.数组定义 [root@bastion-IDC ~]# a=( ) [root@bastion-IDC ~]# echo $a 一对括号表示是数组,数组元素用“空格”符号分割开. 2.数组读取与赋值1)得到长度: [root@bastion-IDC ~]# echo ${#a[@]} [root@bastion-IDC ~]# echo ${#a[*]} 用${#数组名[@或*]} 可以得到数组长度 2)读取: [root@bastion-IDC ~]# echo ${a[]} [root@b…
一.基本介绍 1.awk: awk是一个强大的文本分析工具,在对文本文件的处理以及生成报表,awk是无可替代的.awk认为文本文件都是结构化的,它将每一个输入行定义为一个记录,行中的每个字符串定义为一个域(段),域和域之间使用分割符分割. 2.功能:流控制.数学运算.进程控制.内置的变量和函数.循环和判断 3.工作原理: awk 会把每行进行一个拆分,用相应的命令对拆分出来的“段”进行处理. (1)行工作模式,读入文件的每一行,会把一行的内容,存到$0里 (2)使用内置的变量FS(段的分隔符,默…
逻辑控制 if 语法:注意空格 a=1b=2if [ $a == $b ]then    echo "a==b"elif [ $a -gt $b ]then    echo "a>b"elif [ $a -lt $b ]then    echo "a<b"else    echo "a!=b"fi…
sed 详解 1.简介 sed是非交互式的编辑器.它不会修改文件,除非使用shell重定向来保存结果.默认情况下,所有的输出行都被打印到屏幕上. sed编辑器逐行处理文件(或输入),并将结果发送到屏幕.具体过程如下:首先sed把当前正在处理的行保存在一个临时缓存区中(也称为模式空间),然后处理临时缓冲区中的行,完成后把该行发送到屏幕上.sed每处理完一行就将其从临时缓冲区删除,然后将下一行读入,进行处理和显示.处理完输入文件的最后一行后,sed便结束运行.sed把每一行都存在临时缓冲区中,对这个…
[SHELL]:let 命令详解 摘自:https://blog.csdn.net/happygongzhuo/article/details/6819099 let :简单的计算器  语 法let[计算表达式]功 能let 命令:是 BASH中用于计算的工具,提供常用运算符还提供了方幂“**”运算符.在变量的房屋计算中不需要加上$来表示变量,如果表达式的值是非0,那么返回的状态值是0:否则,返回的状态值是1类似命令: wc  bc  dc  expr      执行权限: 超级用户 普通用户 …
文本处理三剑客 在 Shell 下使用这些正则表达式处理文本最多的命令有下面几个工具: 命令 描述 grep 默认不支持扩展表达式,加-E 选项开启 ERE.如果不加-E 使用花括号要加转义符\{\} egrep 支持基础和扩展表达式 awk 支持 egrep 所有的正则表达式 sed 默认不支持扩展表达式,加-r 选项开启 ERE.如果不加-r 使用花括号要加转义符\{\} sed详解 我们都知道,在Linux中一切皆文件,比如配置文件,日志文件,启动文件等等.如果我们相对这些文件进行一些编辑…
Linux Shell数组常用操作详解 1数组定义: declare -a 数组名 数组名=(元素1 元素2 元素3 ) declare -a array array=( ) 数组用小括号括起,数组元素之间用空格分开 2显示数组长度: [@tc_132_227 dm_pid_day]$ echo ${#array[@]} [@tc_132_227 dm_pid_day]$ echo ${#array[*]} 命令: ${#数组名[@或*]} 获取数组长度,若数组无元素,输出空 3读取数组元素:…
在编写shell脚本的过程中,我们经常需要使用sed流编辑器和awk对文本文件进行处理. 一.什么是sed? sed 是一种在线编辑器,它一次处理一行内容.sed是非交互式的编辑器.它不会修改文件,除非使用shell重定向来保存结果.默认情况下,所有的输出行都被打印到屏幕上. 二.sed的处理过程 sed编辑器逐行处理文件(或输入),并将结果发送到屏幕.具体过程如下:首先sed把当前正在处理的行保存在一个临时缓存区中(也称为模式空间),然后处理临时缓冲区中的行,完成后把该行发送到屏幕上.sed每…
一.流编辑器 sed 与命令 sed Linux 中,常使用流编辑器 sed 进行文本替换工作.与常使用的交互式编辑器(如vim)不同,sed 编辑器以批处理的方式来编辑文件,这比交互式编辑器快得多,可以快速完成对数据的编辑修改. 一般来说,sed 编辑器会执行以下操作: 1)一次从输入中读取一行数据: 2)根据所提供的编辑器命令匹配数据: 3)按照命令修改流中的数据: 4)将新的数据输出到 STDOUT. 在 sed 编辑器匹配完一行数据后,它会读取下一行数据并重复这个过程,直到处理完所有数据…