Linux脚本能100以内逢三过,shell脚本100例

3一、使用脚本循环建立三位数字的文本文件(111-999 的文件)html

#!/bin/bashweb

使用脚本循环建立三位数字的文本文件(111-999 的文件)

for i in {1…9}

do

for j in {1…9}

do

for k in {1…9}

do

touch /tmp/i

iij$k.txt

done

done

done

3二、统计/etc/passwd 中 root 出现的次数bash

#!/bin/bashapp

统计/etc/passwd 中 root 出现的次数

#每读取一行文件内容,即从第 1 列循环到最后 1 列,依次判断是否包含 root 关键词,若是包含则 x++

awk -F: '{i=1;while(i<=NF){if($i~/root/){x++};i++}} END{print "root 出7六、判断用户输入的数据类型(字母、数字或其余)tcp

#!/bin/bashsvg

判断用户输入的数据类型(字母、数字或其余)

read -p “请输入一个字符:” KEY

case “$KEY” in

[a‐z]|[A‐Z])

echo “字母”

;;

[0‐9])

echo “数字”

;;

*)

echo “空格、功能键或其余控制字符”

esac

现次数为"x}’ /etc/passwd

3三、将 Linux 系统中 UID 大于等于 1000 的普通用户都删除函数

#!/bin/bashui

将 Linux 系统中 UID 大于等于 1000 的普通用户都删除

先用 awk 提取全部 uid 大于等于 1000 的普通用户名称

再使用 for 循环逐个将每一个用户删除便可

user=$(awk -F: ‘$3>=1000{print $1}’ /etc/passwd)

for i in $user

do

userdel -r $i

done

3四、判断文件或目录是否存在spa

#!/bin/bashxml

判断文件或目录是否存在

if [ $# -eq 0 ] ;then

echo “未输入任何参数,请输入参数”

echo “用法:$0 [文件名|目录名]”

fi

if [ -f $1 ];then

echo “该文件,存在”

ls -l $1

else

echo “没有该文件”

fi

if [ -d $1 ];then

echo “该目录,存在”

ls -ld $2

else

echo “没有该目录”

fi

3五、使用awk编写的wc程序

#!/bin/bash

使用awk编写的wc程序

自定义变量 chars 变量存储字符个数,自定义变量 words 变量存储单词个数

awk 内置变量 NR 存储行数

length()为 awk 内置函数,用来统计每行的字符数量,由于每行都会有一个隐藏的$,因此每次统计后都+1

wc 程序会把文件结尾符$也统计在内,能够使用 cat ‐A 文件名,查看该隐藏字符

awk ‘{chars+=length($0)+1;words+=NF} END{print NR,words,chars}’ $1

3一、使用脚本循环建立三位数字的文本文件(111-999 的文件)

#!/bin/bash

使用脚本循环建立三位数字的文本文件(111-999 的文件)

for i in {1…9}

do

for j in {1…9}

do

for k in {1…9}

do

touch /tmp/i

iij$k.txt

done

done

done

3二、统计/etc/passwd 中 root 出现的次数

#!/bin/bash

统计/etc/passwd 中 root 出现的次数

#每读取一行文件内容,即从第 1 列循环到最后 1 列,依次判断是否包含 root 关键词,若是包含则 x++

awk -F: '{i=1;while(i<=NF){if($i~/root/){x++};i++}} END{print "root 出7六、判断用户输入的数据类型(字母、数字或其余)

#!/bin/bash

判断用户输入的数据类型(字母、数字或其余)

read -p “请输入一个字符:” KEY

case “$KEY” in

[a‐z]|[A‐Z])

echo “字母”

;;

[0‐9])

echo “数字”

;;

*)

echo “空格、功能键或其余控制字符”

esac

现次数为"x}’ /etc/passwd

3三、将 Linux 系统中 UID 大于等于 1000 的普通用户都删除

#!/bin/bash

将 Linux 系统中 UID 大于等于 1000 的普通用户都删除

先用 awk 提取全部 uid 大于等于 1000 的普通用户名称

再使用 for 循环逐个将每一个用户删除便可

user=$(awk -F: ‘$3>=1000{print $1}’ /etc/passwd)

for i in $user

do

userdel -r $i

done

3四、判断文件或目录是否存在

#!/bin/bash

判断文件或目录是否存在

if [ $# -eq 0 ] ;then

echo “未输入任何参数,请输入参数”

echo “用法:$0 [文件名|目录名]”

fi

if [ -f $1 ];then

echo “该文件,存在”

ls -l $1

else

echo “没有该文件”

fi

if [ -d $1 ];then

echo “该目录,存在”

ls -ld $2

else

echo “没有该目录”

fi

3五、使用awk编写的wc程序

#!/bin/bash

使用awk编写的wc程序

自定义变量 chars 变量存储字符个数,自定义变量 words 变量存储单词个数

awk 内置变量 NR 存储行数

length()为 awk 内置函数,用来统计每行的字符数量,由于每行都会有一个隐藏的$,因此每次统计后都+1

wc 程序会把文件结尾符$也统计在内,能够使用 cat ‐A 文件名,查看该隐藏字符

awk ‘{chars+=length($0)+1;words+=NF} END{print NR,words,chars}’ $

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值