![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
shell脚本
文章平均质量分 92
wdz306ling
这个作者很懒,什么都没留下…
展开
-
shell脚本--awk的用法
语法格式:awk [选项] '指令' 操作文件常用选项:-F 指定分隔符,分隔符用""引起来-v:var=value在awk程序开始之前指定一个值valu给变量var,这些变量值用于awk程序的BEGIN快-f:后面跟一个保存了awk程序的文件,代替在命令行指定awk程序实例1:在命令行直接输入awk指令awk '{print}' 1.txt #逐行读取文件1.t...原创 2019-02-03 13:45:30 · 77166 阅读 · 6 评论 -
Shell脚本实例--找出当前目录下以.txt结尾的文件进行打包
需求:找出root目录下以.txt结尾的文件进行打包#!/bin/bashfor file in `ls `do if [[ $file =~ \.txt$ ]];then # [[ $file =~ \.txt$ ]] 匹配以.txt结尾的文件 tar -zcf $file-`date ...原创 2018-07-24 13:30:20 · 14447 阅读 · 0 评论 -
shell脚本--sed的用法
sed在处理文本时是逐行读取文件内容,读到匹配的行就根据指令做操作,不匹配就跳过。sed是Linux下一款功能强大的非交互流式文本编辑器,可以对文本文件进行增、删、改、查等操作,支持按行、按字段、按正则匹配文本内容,灵活方便,特别适合于大文件的编辑。本文主要介绍sed的一些基本用法,并通过shell脚本演示sed的使用实例。1.sed的使用方法,调用sed 命令的语法有两种:一.在命令...原创 2018-05-17 01:04:27 · 243749 阅读 · 33 评论 -
Shell脚本方法--从文件中逐行读取内容
从文件逐行读取数据的方法有两种,一种是在while循环或until循环中使用read命令,通过文件描述符一行一行的读取文件内容;另一种是在for循环中使用cat <filename>来读取文件的内容。1.使用for循环从文件中逐行读取内容:在默认情况现下此方法是逐个单词的读取文件内容,因为使用这种方法读取文件时,他使用环境变量IFS的值作为分隔符,由于IFS的默认值是“<spac...原创 2018-04-21 22:13:00 · 46178 阅读 · 0 评论 -
shell脚本中使用getopts处理多命令行选项
在Linux系统中,许多命令都提供了选项,使用不同的选项就会得到不通的执行结果例如:ls命令,ls命令提供了多个选项:-l、-a、-A、-h、-i等等,每个选项具有不同的功能,我们自己写脚本时也可以定义选项,提示用户如何使用,本文介绍如何使用getopts命令来处理命令选项。1.getopts命令的如何使用:用getopts命令获取到脚本选项后,getopts会将获取到的选项所对应的参数(选项对应...原创 2018-04-17 17:31:45 · 15604 阅读 · 7 评论 -
shell脚本--根据用户提供的目录,将目录下大写的文件名改为小写
1.用for循环结合if判断,利用tr命令进行大小写转换:#!/bin/bash[ $# -eq 0 ] && echo "must be give a canshu" && exit #判断用户是否输入了参数[ ! -d $1 ] && echo "the $1 is not a directory" && exit ...原创 2018-03-21 10:32:45 · 2903 阅读 · 0 评论 -
shell脚本--用for循环遍历参数
1.当一个脚本需要传入的参数较多时,可以使用for循环进行参数遍历示例:#!/bin/bashnumber=65 #定义一个退出值index=1 #定义一个计数器if [ -z "$1" ];then #对用户输入的参数做判断,如果未输入参数则返回脚本的用法并退出,退出值65 e...原创 2018-03-30 14:59:39 · 41954 阅读 · 2 评论 -
shell脚本--判断用户的输入内容
1.脚本功能:提示客户属于一串数字,并判断用户是否进行了输入,输入的是否为数字#!/bin/bashread -p "enter a number: " number #提示用户输入数字if [ -z $number ];then #判断用户是否输入,如果未输入则打印error echo "Error" exitelse ...原创 2018-03-20 17:21:54 · 10594 阅读 · 0 评论 -
Linux脚本--获取脚本的真实路径
1.获取当前脚本的真实路径:#!/bin/bashif [[ $0 =~ ^\/.* ]] #判断当前脚本是否为绝对路径,匹配以/开头下的所有then script=$0else script=$(pwd)/$0fiscript=`readlink -f $script` #获取文件的真实路径script_path=${script%/*} #获取文件...原创 2018-03-20 14:59:47 · 5200 阅读 · 0 评论 -
for循环结合if判断,在目录下查找文件
1.for循环对目录做遍历,if判断文件是否为要查找的文件。示例1:#!/bin/bashif [ $# -lt 1 ];then echo "Usage:$0 + filepath" exitfi #判断用户是否输入了参数match=$1 #将要查的文件赋值给变量matchfound=0 #定义一个初始变量作为发生条件,当文件找到时对此变...原创 2018-03-19 18:24:05 · 2040 阅读 · 0 评论 -
shell中函数的定义
1.shell中定义函数的方式:示例1:funtion name {command1command2....}示例2:name () {command1command2...}取消函数:unset -f +函数名2.向函数中传递参数:示例:#!/bin/bashtest (){ a=$1 echo "test (): \$0 is $0" echo "test (): \$1 is $1" ...原创 2018-03-23 00:28:50 · 14339 阅读 · 0 评论 -
shell中的while循环实例
1.利用while循环计算1到100的和:示例代码1:#!/bin/bashi=1sum=0while [ $i -le 100 ]do let sum=sum+$i let i++doneecho $sum示例代码2:利用while循环计算1到100之间所有奇数之和#!/bin/bashi=1sum=0while [ $i -le 100 ]do let sum=sum+$i let i...原创 2018-03-18 18:30:13 · 350282 阅读 · 4 评论 -
shell中的for循环示例
1.利用for循环打印**示例代码:#!/bin/bashfor (( i=0;i<3;i++ ))do for(( j=0;j<5;j++ )) #每行打印5个*,打印三行 do echo -n "* " done echo ""done2.利用for循环计算1到100的和:示例代码1:#!/bin/bashsum=0for i in {1..100}d...原创 2018-03-18 17:52:52 · 17373 阅读 · 1 评论 -
使用shell脚本打印9x9乘法表
1.使用for循环打印9x9乘法表:示例1:#!/bin/bashfor (( i=1;i<=9;i++ ))do for (( j=1;j<=9;j++ )) do [ $j -le $i ] && echo -n "${i}*${j}=$((i*j)) " #判断j是否小于i,当j大于i时不输出,输出不换行,末尾...原创 2018-03-17 21:25:48 · 23762 阅读 · 2 评论