博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
脚本之文本练习
阅读量:4331 次
发布时间:2019-06-06

本文共 1885 字,大约阅读时间需要 6 分钟。

脚本之文本练习

1)从一个目录中找出最近访问过的5个普通文件,并且要求输出文件名和最后访问时间

[root@server4 3131]# ls -lut /mnt/ | grep "^-"| head -3 | cut -c31-Mar 24 10:45 fileMar 23 16:39 nginx-install.shMar 23 16:35 nginx-1.6.2.tar.gz

解析:

-u 会显示文件的最后访问时间,-t基于访问时间来排序,排序的结果是最近访问过的文件的最后访问时间; grep “^-” 表示只针对普通文件;
cut剪切命令,-c表示会保留哪些字符。-c的参数表示方式一种是通过横杠字符- 指定一个范围,另一种是用逗号连接多个范围
N 第N个字符
N- 从第N个字符开始一直到当前行结束
N-M 从第N个字符到第M个字符
-M 从第一个字符一直到M个字符。
用awk 实现

[root@server4 3131]# cat 1.sh #!/bin/bash#******************#*copyleft maisui2016-03-25#*version 1function mimi() { read -p  "please input the directory: " i ls -lut $i | grep "^-"| awk 'BEGIN {printf "%-8s%5s\n","time","filename"} {printf "%-8s%s\n",$8,$9}' | head -3}mimi

2)加入有两个文件,他们分别记录了员工的号码和姓名,怎么将他们一一对应起来。

[root@server4 3131]# paste name numberjunyi   18829289119huihui  18829290165ahuang  18829290116

3)求文件的平均数

[root@server4 3131]# cat file
a 2
b 4
c 8
a 6
b 4

[root@server4 3131]# awk '{t[$1]++} {res[$1]+=$2} END {for(i in t) {print i,res[i]/t[i]}}' filea 4b 4c 8

4)检查统计当前系统中的各种shell程序,统计他们各被多少用户所使用,并 把统计结果按照从多到少的顺序打印出来;

[root@server4 3131]# awk -F : '{re[$NF]++} END {for(i in re) {print re[i],i}}' /etc/passwd | sort -nr23 /sbin/nologin3 /bin/bash1 /sbin/shutdown1 /sbin/halt1 /bin/syncroot@server4 3131]# cat /etc/passwd | cut -d : -f7 | uniq -c | sort -nr     12 /sbin/nologin      7 /sbin/nologin      4 /sbin/nologin      2 /bin/bash      1 /sbin/shutdown      1 /sbin/halt      1 /bin/sync      1 /bin/bashUniq -c删除相同的行

5)统计一个文本中各单词出现的个数

[root@server4 3131]# cat file.sh #!/bin/bash#******************#*copyleft maisui2016-03-26#*version 1read -p "please input the file name: " filecat $file | tr '[:punct:]' ' '|\ 删除标点符号tr '[:space:]' ' ' |\       tr '[:cntrl:]' ' ' |\ 删除控制符tr '[:digit:]' ' ' |\   #删除所有数字tr '[:upper:]' '[:lower:]' |\tr -s ' ' |\ #把连续空格转换成一个空格tr ' ' '\n' |\ 把空格转换成换行符sort | uniq -c | sort -nr

993421-20160726152349184-413606237.png

转载于:https://www.cnblogs.com/hanfei-1005/p/5707632.html

你可能感兴趣的文章
微信测试账户
查看>>
Android ListView上拉获取下一页
查看>>
算法练习题
查看>>
学习使用Django一 安装虚拟环境
查看>>
Hibernate视频学习笔记(8)Lazy策略
查看>>
CSS3 结构性伪类选择器(1)
查看>>
IOS 杂笔-14(被人遗忘的owner)
查看>>
自动测试用工具
查看>>
前端基础之BOM和DOM
查看>>
[T-ARA/筷子兄弟][Little Apple]
查看>>
编译Libgdiplus遇到的问题
查看>>
【NOIP 模拟赛】Evensgn 剪树枝 树形dp
查看>>
java学习笔记④MySql数据库--01/02 database table 数据的增删改
查看>>
两台电脑如何实现共享文件
查看>>
组合模式Composite
查看>>
程序员最想得到的十大证件,你最想得到哪个?
查看>>
我的第一篇CBBLOGS博客
查看>>
【MyBean调试笔记】接口的使用和清理
查看>>
07 js自定义函数
查看>>
jQueru中数据交换格式XML和JSON对比
查看>>