Shell考题中级篇
写脚本实现,可以用shell、perl等。把文件b中有的,但是文件a中没有的所有行,保存为文件c,并统计c的行数。
grep -v -x bbb -f aaa > ccc && wc -l ccc
有如下文本,请将其中的IP进行替换,如:1.1.1.1改成1.*.*.1
a = "123.123.123.34, 124.23.34.32, 123,43,21,42"
b = "12.34.32.45"
c = "ip: 123.45.56.67"
d = '{"ip":"45.54.67.34"}'
sed -r 's/([0-9]+).([0-9]+).([0-9]+).([0-9]+)/\1.*.*.\4/g' file
有如下文本,请打印的行包含a,也必须包含b,也必须包含c
123bca
456xac
789cbd
awk '/a/ && /b/ && /c/'
批量创建文件及改名
- 使用for循环在/oldboy目录下通过随机小写10个字母,批量创建10个html文件,名称例如为:cfedefaede_oldboy.html
- 请用至少两种方法实现,将以上文件名中的oldboy全部改成oldgirl(用for循环实现),并且html改成大写
#!/bin/bash
[ -d /oldboy ] || mkdir -p /oldboy
# 检测目录是否存在,若是不存在则手动创建 for i in `seq `;
# 创建相应的html文件
do
# name=$(echo $(date) | md5sum | tr -d '[0-9]|' | cut -c -)
# 本来我是想用上面这种方式来生成文件名的,但是用上面这种方法必须设置sleep,并未sleep的值不能小于1S
name=$(echo $RANDOM | sha512sum | tr -d '[0-9]' | cut -c -)
touch /oldboy/${name}_oldboy.html
done
# 创建相应的html文件 File=$(ls /oldboy | grep "[a-Z]\+_oldboy.html")
# 我参考老男孩的答案,发现他们是直接更改整个目录下面的文件,个人觉得还是过滤一下比较好。 cd /oldboy # 方式1
for file in $File;
do
mv $file `echo $file | sed -e "s/oldboy/oldgirl/" -e "s/html/HTML/"`
done # 方式2
for file2 in $File;
do
mv $file ${file/oldboy.html/oldgirl.HTML}
done
Shell考题中级篇的更多相关文章
- Shell考题初级篇
将当前目录下大于10K的文件转移到/tmp目录下 find . -type f -size +10k -exec mv {} /tmp \; 编写一个shell,判断用户输入的文件是否是一个字符设备文 ...
- 零基础学习openstack【完整中级篇】及openstack资源汇总
1.你是如何学习openstack的?2.你对openstack的组件了解多少?3.你认为openstack该如何学习? 一直想写关于openstack的方面的内容,今天终于整理完成.算是完成一桩心事 ...
- Python 正则表达式入门(中级篇)
Python 正则表达式入门(中级篇) 初级篇链接:http://www.cnblogs.com/chuxiuhong/p/5885073.html 上一篇我们说在这一篇里,我们会介绍子表达式,向前向 ...
- 25个增强iOS应用程序性能的提示和技巧(中级篇)(3)
25个增强iOS应用程序性能的提示和技巧(中级篇)(3) 2013-04-16 14:42 破船之家 beyondvincent 字号:T | T 本文收集了25个关于可以提升程序性能的提示和技巧,分 ...
- 25个增强iOS应用程序性能的提示和技巧(中级篇)(2)
25个增强iOS应用程序性能的提示和技巧(中级篇)(2) 2013-04-16 14:42 破船之家 beyondvincent 字号:T | T 本文收集了25个关于可以提升程序性能的提示和技巧,分 ...
- 25个增强iOS应用程序性能的提示和技巧--中级篇
25个增强iOS应用程序性能的提示和技巧--中级篇 标签: ios性能优化内存管理 2013-12-13 10:55 738人阅读 评论(0) 收藏 举报 分类: IPhone开发高级系列(34) ...
- Python3学习(2)-中级篇
Python3学习(1)-基础篇 Python3学习(2)-中级篇 Python3学习(3)-高级篇 切片:取数组.元组中的部分元素 L=['Jack','Mick','Leon','Jane','A ...
- django-url调度器-中级篇
在初级篇中,我们接触了: 1.url 的简单编写 2.两种传参的方式 3.捕获的参数总是字符串 4.为视图设置默认参数 …… 在中级篇中将更进一步. 包含其它的URLconfs 当网站非常大的时候,将 ...
- Python 第六篇(中):面向对象编程中级篇
面向对象编程中级篇: 编程思想概述: 面向过程:根据业务逻辑从上到下写垒代码 #最low,淘汰 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 #混口饭吃 def add(ho ...
随机推荐
- Android CTS中neverallow规则生成过程
CTS里面SELinux相关测试中neverallow测试项占绝大多数,Android系统开发者都应该知道,在修改sepolicy时,需要确保不能违反这些neverallow规则,不然会过不了CTS. ...
- 支撑百万级并发,Netty如何实现高性能内存管理
Netty作为一款高性能网络应用程序框架,实现了一套高性能内存管理机制 通过学习其中的实现原理.算法.并发设计,有利于我们写出更优雅.更高性能的代码:当使用Netty时碰到内存方面的问题时,也可以更高 ...
- js的class基础
title: js的class基础 date: 2020-01-04 13:34:44 tags: --- 基本写法 let log = console.log; class people { con ...
- 洛谷P1020 导弹拦截 题解 LIS扩展题 Dilworth定理
题目链接:https://www.luogu.com.cn/problem/P1020 题目大意: 给你一串数,求: 这串数的最长不上升子序列的长度: 最少划分成多少个子序列是的这些子序列都是不上升子 ...
- 小小知识点(十七)——对数形式功率(dBm)与非对数形式功率(w)之间的换算关系
摘自https://blog.csdn.net/shij19/article/details/52946454 dBm 物理含义是:一个表示功率绝对值的值(也可以认为是以1mW功率为基准的一个比值) ...
- 在Windows Server 2003中搭建DNS服务器
1.安装Windows Server 2003虚拟机 准备好Windows Server 2003的镜像:http://www.downza.cn/soft/184944.html 2.Windows ...
- 2019年全网最热门的123个Java并发面试题总结
前言 并发编程几乎是所有互联网公司面试必问的问题,并发编程是Java程序员最重要的技能之一,也是最难掌握的一种技能.它要求编程者对计算机最底层的运作原理有深刻的理解,同时要求编程者逻辑清晰.思维缜密, ...
- 【记】创建 VirtualBoxClient COM 对象失败. 应用程序将被中断
1. 在本地64位win7系统安装VirtualBox完,启动时提示错误 原因:兼容性造成的 按照下图显示修改VirtualBox快捷方式的兼容性 2. 启动虚拟机时,提示 点击弹出框的确定按钮后,接 ...
- ArcGIS Server 10.1新特性系列---动态图层
ArcGIS Server 10.1新特性里面有几个新功能是非常棒的,其中有一个就是动态图层.动态图层不是一种新发明的图层,而是说在arcgis server的web应用中可以动态的配置其渲染和内容功 ...
- NTT - 牛客
链接:https://www.nowcoder.com/acm/contest/133/D来源:牛客网 题目描述 Applese打开了m个QQ群,向群友们发出了组队的邀请.作为网红选手,Applese ...