AI智能
改变未来

正则表达式和shell编程

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

grep -v \"/sbin/nologin\" /etc/passwd | cut -d: -f1 #显示默认shell为非/sbin/nologin的用户

grep -v \"/sbin/nologin\" /etc/passwd | cut -d: -f1 | wc -l   #默认shell为非/sbin/nologin的用户个数


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

cat /etc/passwd | sort -t: -k3  -nr |head -n1 |cut -d: -f1,3,7

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

netstat -nt | grep \"tcp\" | tr -s \" \"  \":\" | cut -d: -f6 | uniq -c |sort -nr

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

#!/bin/bashUser=$1Color=\"\\033[1;$[RANDOM%7+31]m\"ColorEnd=\"\\033[0m\"id $User &>/dev/null && echo \"User $User already exists\" || (useradd $User &&  echo \"User $User was created successfully\") && echo -e \"The $User information is $Color`id $User`$ColorEnd\"


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

#!/bin/bashColor=\'\\033[$[RANDOM%7+31]m\'ColorEnd=\'\\033[0m\'echo -e \"This Script Writer is $Color$USER$ColorEnd\"echo -e \"Telephone is $Color`echo 15522000722`$ColorEnd\"echo -e \"E-mail is $Color`echo [email protected]`$ColorEnd\"echo -e \"System Verison is $Color`cat /etc/redhat-release`$ColorEnd\"echo -e \"Setup Time is $Color`date \'+%F %T\'`$ColorEnd\"echo -e \"Description is $Color`echo The test script`$ColorEnd\"echo -e \"Copyright (C) is $Color`date +%Y` All rights reserved$ColorEnd\"

文本处理命令
cut 显示文件或STDIN数据的指定列

cut [OPTION]... [FILE]...-d DELIMITER: 指明分隔符,默认tab-f FILEDS:#: 第#个字段#,#[,#]:离散的多个字段,例如1,3,6#-#:连续的多个字段, 例如1-6混合使用:1-3,7-c 按字符切割--output-delimiter=STRING指定输出分隔符

显示文本前或后行内容

head [OPTION]... [FILE]...-c # 指定获取前#字节-n # 指定获取前#行-# 指定行数tail [OPTION]... [FILE]...-c # 指定获取后#字节-n # 指定获取后#行-# 同上-f 跟踪显示文件fd新追加的内容,常用日志监控 相当于 --follow=descriptor-F 跟踪文件名,相当于--follow=name --retry

文本排序sort

sort [options] file(s)-r 执行反方向(由上至下)整理-R 随机排序-n 执行按数字大小整理-f 选项忽略(fold)字符串中的字符大小写-u 选项(独特,unique)删除输出中的重复行-t c 选项使用c做为字段界定符-k X 选项按照使用c字符分隔的X列来整理能够使用多次

uniq 从输入中删除前后相接的重复的行

uniq [OPTION]... [FILE]...-c: 显示每行重复出现的次数-d: 仅显示重复过的行-u: 仅显示不曾重复的行注:连续且完全相同方为重复

grep 文本搜索工具

grep [OPTIONS] PATTERN [FILE...]--color=auto: 对匹配到的文本着色显示-m # 匹配#次后停止-v 显示不被pattern匹配到的行-i 忽略字符大小写-n 显示匹配的行号-c 统计匹配的行数-o 仅显示匹配到的字符串-q 静默模式,不输出任何信息-A # after, 后#行-B # before, 前#行-C # context, 前后各#行-e 实现多个选项间的逻辑or关系grep –e ‘cat ’ -e ‘dog’ file-w 匹配整个单词-E 使用ERE-F 相当于fgrep,不支持正则表达式-f file 根据模式文件处理
赞(0) 打赏
未经允许不得转载:爱站程序员基地 » 正则表达式和shell编程