在Linux中,有两种流行的正则表达式(Regular Expressions)引擎:
POSIX基本正则表达式(BRE)引擎
POSIX扩展正则表达式(ERE)引擎
大多数Linux工具都支持BRE,但是只有一些工具支持ERE。1. BRE模式
RE字符
含义及范例
^word
含义:待查找的字符串(word)在行首
范例:查找行首为#开始的那一行,并列...
1. gawk概述在《sed编辑器基本用法》一文中我们已经介绍了Linux世界中使用最广泛的两个命令行编辑器之一——sed,今天我们来介绍另外一个:gawk。gawk是Unix中原始awk程序的GNU版本,比sed功能更加强大,因为它提供了一个类编程环境,允许我们修改和重新组织文件中的数据。gawk的特点如下:
定义变量来保存数据;
使用算术和字符运算符来处理数据;
使用结构化编...
1. sed流编辑器原理概述一般我们更习惯说sed为linux命令,但更准确的说法应该是sed流编辑器。和普通的交互式文本编辑器不同,流编辑器是在编辑器处理数据之前基于预先提供的一组规则来编辑数据流;而交互式文本编辑器(比如vim)则是通过键盘命令来交互式的插入、删除或者替换数据中的文本。sed编辑器可以基于输入到命令行的或是存储在命令文本文件中的命令来处理数据流中的数据。它每次从输入读入一...
shell对于数值计算支持的不是特别好,而且bash shell的数学操作符只支持整数运算(z shell提供了完整的浮点数运算),如果想要进行浮点数运算,需要采用一些其他方法,下面我们总结一下shell中如何进行数学计算。1. expr命令expr命令我们可以进行一些简单的数学运算或者字符串运算,下面是expr命令支持的操作符(参见man文档):
操作符
说明
AR...
1. 重定向1.1 输出重定向可以使用大于号(>)或者双大于号(>>)将命令的输出重定向,最常见的是重定向到文件中。大于号会在用新的文件数据覆盖旧的已经存在的文件,双大于号则是将新数据追加到已有的文件数据后面。1.2 输入重定向输入重定向与输出重定向相反,是将文件的内容重定向到命令,输入重定向有两种:(1)普通的输入重定向,符号是小于号(<),格式为command &...
1. Shell环境变量介绍
shell的环境变量分为全局变量和局部变量。
全局变量对所有的shell会话及其子进程都有效,局部变量只在定义它们的进程中可见。
可以使用printenv查看全局变量,使用set查看全局变量和局部变量。
使用export可以将局部变量导出为全局变量。
使用unset可以删除一个已定义的环境变量。
shell有许多默认的环境变量,但不是每一...
Linux下的Shell中,单引号和双引号常用来括住包含有空格的变量值,比如var1="Linux Shell" 。而两者的区别是:单引号中的变量不会被解析,而双引号中的变量会被解析。看下面的例子:allan@ubuntu:~$ var1="Linux Shell"
allan@ubuntu:~$ echo "$var1"
Linux Shell # va...
在Shell脚步执行的时候我们经常会遇到“xxx: unexpected operator”这个错误,其实这个错误一般都是因为我们的表达式有问题,这里我们举一个出错率非常高的例子:#!/bin/bash
param="cat test.txt | grep allan";
if [ $param = "allan" ]; then
echo "allan exists in ...
- 1
- 2
- 后一页 »