Linux Shell编程2
回忆
-
$
${}
用于引用变量
-
[]
test
判断某个表达式的返回值是0或非0
注意"[“后和”]“前都需要有空格,并且”="两边也都要有空格
-
$()
``
用于命令替换,会将里面的内容执行,然后返回值结果返回
-
$[]
$(())
用于数学计算
函数
-
系统函数
-
basename [string/pathname] [suffix]
切割文件名
-
dirname path
切割路径
-
-
自定义函数
-
基本语法
[ function ] funname[()] { Action; [return int;] }
-
示例代码
#!/bin/bash function add(){ sum=$[ $1 + $2 ] echo "sum : $sum" return $sum #返回值只能是[0-255] } read -p "请输入第一个整数:" -n 10 a read -p "请输入第二个整数:" -n 10 b add a b
-
正则
-
常用特殊字符
-
^
匹配一行的开头 -
$
匹配一行的结尾 -
.
表示任意一个字符 -
*
表示上一个字符出现0次或多次+
1次或多次?
0次或1次.*
表示任意字符串 -
[]
表示某个范围内的一个字符举例
[6,8]
匹配6或8[0-9]
匹配0-9的数字[0-9]*
匹配任意长度的数字字符串[a-z]
匹配a-z之间的字符[a-z]*
匹配任意长度的字母字符串[a-z,0-9]
匹配0-9的数字或者a-z之间的字符
-
\
转义字符 -
{m,n}
表示上一个字符出现m次到n次grep
不支持直接这种 写法,需要添加一个选项-E
-
文本处理工具
-
cut [option] [filename]
剪切数据选项参数 功能 -f 列号,提取第几列 -d 分隔符 默认分隔符是\t -c 以字符为单位进行分割 -
awk [option] '/pattern/{action}' filename
文本分析工具选项参数 功能 -F 输入指定文件分隔符 -v 赋值一个用户定义变量 使用
-v
选项不需要添加
$
awk
内置变量变量 说明 FILENAME 文件名 NR 已读文件行数 NF 切割的列数
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。