shell 使用杂记(一)
来源:互联网 发布:香港域名注册不备案 编辑:程序博客网 时间:2024/05/29 12:25
shell 使用杂记
1前言
shell 脚本在工作中或多或少都会用到。有时候我们只是使用shell实现工作中的一个功能,并不需要全部学会shell的知识。这篇博客记录了我常用的shell功能,记录的目的是需要用的时候信手拈来。2 功能
2.1 shell 数组
数值型数组定义
使用一对括号表示定义数组,元素之间使用“空格”来隔开
numberArray=(1 2 3 4 5);
字符串类型数组
数组中的元素使用双引号或者单引号包含,元素之间使用“空格”来隔开。
stringArray=("aaa" "bb" "cc"); 或者 stringArray=('aa' 'bb' 'cc');
获取数组长度
arrLength=${#numberArray[*]}或${#numberArray[@]}均可,即形式:${#数组名[@/*]} 可得到数组的长度。
读取某个下标的值
arr_index2=${numberArray[2]},即形式:${数组名[下标]}
2.2 shell 循环
2.2.1 for
类似C/C++ 语音的for循环
for (( i=0; i<5 ; i++ )); do
echo $i
done
2.3 shell 循环读取目录文件
for file in ./tmpcert/*
do
if test -f $file
then
echo $file 是文件
fi
if test -d $file
then
echo $file 是目录
fi
done
2.4 shell 查看当前目录下文件的个数
2.4.1 查看当前目录下文件的个数
ls -l | grep "^-" | wc –l
2.4.2 查看当前目录下文件的个数(包括子目录)
ls -lR| grep "^-" | wc –l
2.4.3 查看某目录下文件夹(目录)的个数(包括子目录)
ls -lR| grep "^d" | wc -l
2.5 shell 整型变量自增(加1)的6种方法
以变量var为例
var=12.5.1方法1
var =$(($ var +1))2.5.2方法2
var =$[$ var +1]2.5.3 方法3
var =`expr $ var + 1`2.6.4 方法4
let var ++2.5.5 方法5
let var +=12.5.6 方法6
((var ++))
2.6 使用用例:
2.6.1 awk获取包含” BEGIN CERTIFICATE”的行号,并保存到数组lineArray中
line=`grep "BEGIN CERTIFICATE" -w chain.cer -n | awk -F':' '{print $1}'`
lineArray=($line)
2.6.2 sed截取文件的行并重定向到文件
begin=1 #起始
end=5 #结束
cmd="$begin,${end}p" #命令
sed -n $cmd chain.cer > tmpcert/1.txt #截取行并重定向
2.6.3 sed 使用在文本中替换字符或字符串
tmp测试文件中的内容如下
subject=/C=CN/ST=state/L=location/O=organization/OU=organizationUnit/CN=commonName/emailAddress=email
把':'替换成=
sed -i "s/:/=/g" tmp
在文本中替换字符或字符串(使用正则表达式)
把'subject=/' 替换成空,其中'/'需要使用转义字符'\'来转义表示
sed -i "s/subject=\///g" tmp
阅读全文
0 0
- shell 使用杂记(一)
- Shell学习杂记一
- shell 学习杂记一
- idea使用杂记(一)
- shell 杂记
- shell杂记
- Shell杂记
- Shell杂记
- struts2杂记(一)——使用doubleSelect
- 杂记(一)
- 杂记一
- 杂记(一)
- 杂记一
- 杂记(一)
- 杂记<一>
- 杂记一
- Shell使用总结(一)
- Unix Shell学习杂记
- 什么是RDD以及如何创建RDD
- 重写Overload和重载Override的区别?
- canvas(11/30)--------事件处理(鼠标处理)精灵表坐标查看器
- Python学习笔记一:数据类型转换
- MQ入门总结(四)ActiveMQ的部署和集群
- shell 使用杂记(一)
- java-String字符串类
- 机器视觉与这个多彩的世界火花
- ubuntu16.04 heirloom-mailx 通过外部SMTP服务器发送邮件
- 几何之父欧几里得的故事
- $再学习--JS进阶(一)
- 1001. 害死人不偿命的(3n+1)猜想 (15)
- 关于python logging模块日志记录与oss模块文件上传的问题
- centos7 远程连接mongodb时,27017端口连接不上的解决办法