shell 编程

正则表达式

 

 

 

 

 

 

 

字符串截取命令

 cut 命令

按列提取字符串命令

语法:cut [选项] 文件名

选项:

-f 列号: 提取第几列

-d 分隔符   按照指定分隔符分割列  默认以制表符分割

eg: cut -f 2 -d : /etc/passwd  提取/etc/passwd文件的第2列以":"分割

et: cat /etc/passwd | grep '/bin/bash' | cut -f 1,2 -d :

 

printf 命令

格式化打印命令



 

 

eg:printf %s 1  2  3  4  5  6

eg:printf '%s %s' 1  2  3  4  5  6    #两个字符作为一组字符串输出

eg:printf '%s %s %s' 1  2  3  4  5  6    #三个字符作为一组字符串输出

eg:printf '%s %s %s\n' 1  2  3  4  5  6   #两个字符作为一组字符串且换行输出

 

 awk 命令

 强大的文本分析工具

BEGIN   在执行数据读取之前先执行BEGIN后面的那个动作

END  在执行数据读取结束后执行END后面的那个动作

 

sed 命令

行编辑器命令



 

eg:sed '1,3d' read.sh  删除第1~3行的内容,不会修改文件本身

eg:sed -n '2p' sum.sh  查看sum.sh第二行的内容

eg:sed '2a nihao' sum.sh  查看sum.sh的内容,并在第2行后面加入"nihao" 字符串

 

sort 命令

排序

eg:sort /etc/passwd  # 按字符串排序显示"/etc/passwd"文件内容
 eg:sort -r sum.sh  # 倒序显示sum.sh的文件内容。

 

wc 命令:

统计指定文件的行数、字数、字符数、字节数

语法:wc [选项] [文件名]

    -c  统计字节数

    -m  统计字符数

    -w  统计单词数

    -l    统计行数

eg: wc -c repl1.conf   统计 repl1.conf 文件中的字节数。

ctrl+d 结束控制台字数统计。


 

条件判断

 

条件判断的两种格式

判断当前路径下是否存在read.sh文件

格式一:test -e read.sh   

格式二:[ -e read.sh ]

 

[ -e read.sh ] && echo yes || echo no

 

eg:

[  -e read.sh ] && echo yes || echo no 判断当前路径下read.sh文件是否存在。存在输出yes,不存在输出no

 

 

[  -x read.sh ] && echo yes || echo no 判断当前路径下read.sh文件是否存在,并且是否拥有执行权限

 

 

 eg:

[ read.sh -nt sum.sh ] && echo yes || echo no  

 

 eg:

[ 2 -gt 1 ] && echo yes || echo no 

 


 eg:

[ "abc" == "abc" ] && echo yes || echo no 


aa=23

[ -n "$aa" -a $aa -gt 21 ] && echo yes || echo no

 

aa=20

[ -n "$aa" -a $aa -gt 21 ] && echo yes || echo no

 

 

流程控制

 

 if



 

 

 

 

 

case



 

for 循环


eg: for1.sh

#!bin/bash

for i in $(ls)

do

echo $i;

done

 

 eg: for2.sh

#!bin/bash

sum=0;

for((i=1;i<=100;i++))

do

sum=$(($sum+$i));

done

echo "the sum is :$sum";

 

while 循环



 

eg:while.sh  while 1+2+3+...+100的和

#!/bin/bash

i=1;

sum=0;

while [ "$i" -le 100 ]

do

sum=$(($sum+$i));

i=$(($i+1));

done

echo $sum

 

until 循环

unti循环和while循环刚好相反,当循环不成立则进行until循环。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值