linux脚本 文本处理,Linux文本处理和脚本实践

1、统计/etc/passwd文件中默认shell不是/sbin/nologin的用户个数,并将用户都显示出来

grep -v /sbin/nologin /etc/passwd | wc -l

grep -v /sbin/nologin /etc/passwd | cut -d: -f1

2、查出用户UID最大值的用户名、UID及shell类型

sort -t: -n -k3 /etc/passwd | cut -d: -f 1,3,7 | tail -1

cut -d: -f1,3,7 /etc/passwd |sort -t: -k2 -n | tail -1

3、统计当前连接本机的每个远程主机IP的连接数,并按从大到小排序

ss -nt | awk -F'[: ]+' '/ESTAB/{ip[$(NF-2)]++}END{for(i in ip){print i,ip[i]}}' | sort -k2 -nr

4、编写脚本createuser.sh,实现如下功能:使用一个用户名为参数,如果指定参数的用户存在,就显示其存在,否则添加之;显示添加的用户的id号等信息

#!/bin/bash

if [ $# -ne 1 ]; then

echo "Usage: $0 USERNAME "

exit

fi

if [ $UID -ne 0 ]; then

echo "Permission denied,please run this script with root"

exit

fi

grep -w $1 /etc/passwd > /dev/null

if [ $? -ne 0 ];then

useradd $1

echo "Add new user $1 succeeful"

echo "The infomation of new user is `id $1`"

else

echo "User $1 is already exist"

fi

5、编写生成脚本基本格式的脚本,包括作者联系方式,版本,时间,描述等

autocmd BufNewFile *.sh exec ":call SetTitle()"

func SetTitle()

if expand("%:e") == 'sh'

call setline(1,"#!/bin/bash")

call setline(2,"#")

call setline(3,"#********************************************************************")

call setline(4,"#Author: Example")

call setline(5,"#Mail: [email protected]")

call setline(6,"#Version: 1.0")

call setline(7,"#Date: ".strftime("%Y-%m-%d"))

call setline(8,"#FileName: ".expand("%"))

call setline(9,"#Description: It's is test script.")

call setline(10,"#Copyright (C): ".strftime("%Y")." All rights reserved")

call setline(11,"#********************************************************************")

call setline(12,"")

endif

endfunc

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值