problem:

1、	输入一个ip列表文件,文件每行为以tab键分隔的两列,分别为一个ip段的起始ip和结束ip,ip均为点分形式。要求将该文件中各ip段包含的每一个有效ip以非点分形式输出到一个文件中。
例如:
输入文件内容如下:
66.111.22.1 66.111.22.3
123.1.1.123 123.1.1.123
1.1.1.1 1.1.2.1
则要求输出文件内容为:
066111022001
066111022002
066111022003
123001001123
001001001001
001001001002
001001001003
001001001004
……
001001001125
001001002001 #!bin/awk
function getnum(A)
{
flag = 0;
for(i=0;i<=4;i++)
array[i] = 0;
test = ".";
for(i=1;i<=length(A);i++){
if(substr(A,i,1) == test){
flag = flag + 1;
}else{
array[flag] = array[flag] * 10 + (0 + substr(A,i,1));
}
}
p = 1;
ans = 0;
for(i=3;i>=0;i--){
array[i] = array[i] - 1;
ans = ans + array[i] * p;
p = p * 125;
}
return ans; } function returnnum(i)
{
num = 0 + i;
d = 125;
p = d*d*d;
a = int(num / (d*d*d));
b = int((num - a * d*d*d) / (d*d))
c = int((num - a * d*d*d - b * d*d) / d)
d = int(num - a * d*d*d - b * d*d - c * d)
printf "%03d%03d%03d%03d\n",a+1,b+1,c+1,d+1
} BEGIN { } {
l = getnum($1);
r = getnum($2);
for(i=l;i<=r;i++){
returnnum(i);
}
} END{ } 2、2G文件每行一个url,去掉重复的,并保持顺序。 3、将目录ABC下及其子目录下所有*.txt文件按小时改名备份,如a.txt.2008080815表示a.txt是08年8月8日下午3点到4点生成的

简单的三道shell例题的更多相关文章

  1. 八大排序方法汇总(选择排序,插入排序-简单插入排序、shell排序,交换排序-冒泡排序、快速排序、堆排序,归并排序,计数排序)

    2013-08-22 14:55:33 八大排序方法汇总(选择排序-简单选择排序.堆排序,插入排序-简单插入排序.shell排序,交换排序-冒泡排序.快速排序,归并排序,计数排序). 插入排序还可以和 ...

  2. 写一个简单的 Linux Shell (C++)

    这里可以找到代码 github.com/z0gSh1u/expshell 支持的特性 单条指令的执行 引号引起的参数(如 $ some_program "hello, world" ...

  3. 如何DIY一个简单的反弹Shell脚本

    00起因 之前在一个服务器上做测试的时候需要从本地连到服务器上,但是服务器没有开ssh服务,但是有python环境,想着自己写一个脚本可以从自己本地连接到服务器,然后服务器端可以将处理完的请求结果返回 ...

  4. DFS与BFS——理解简单搜索(中文伪代码+例题)

    新的方法和概念,常常比解决问题本身更重要. ————华罗庚 引子 深度优先搜索(Deep First Search) 广度优先搜索(Breath First Search) 当菜鸟们(比如我)初步接触 ...

  5. 〖Linux〗简单的将Shell和一些文件打包成一个单独的“可执行文件”

    有时候给别人分享一个工具的时候,同时需要提供的文件比较多: 如果分享一个压缩包还得教会对方如何解压.执行哪个脚本,感觉需要传输的内容多了就不方便: 把几个Shell脚本和文件打包成一个“单独的可执行文 ...

  6. go语言简单的执行shell命令

    package main import(     "fmt"     "os/exec"     "os"     "string ...

  7. 写了一个简单的Linux Shell用来下载文件

    #!/bin/sh ; i<; i=i+ )); do # 利用spider来探测请求的资源是否存在,并把请求的结果写入到一个文件 wget --spider --http-user=usern ...

  8. 【shell】分享高通平台刷版本简单的一个shell脚本

    #!/bin/shadb wait-for-deviceadb reboot bootloaderecho "start download"wait 5sudo fastboot ...

  9. 实现一个简单的 Linux Shell(C++)

    Implement a simple command interpreter in Linux. The interpreter should: support both internal and e ...

随机推荐

  1. oracle 11g 空表导出

    背景 oracle9用了一段时间,10用了一段时间,11现在算是主流了.11g也是坑人,空表竟然不导出,解决方法到时很多.这里只是记录下,知道有这个事情. 9的特点是还要用客户端管理工具链接服务器 1 ...

  2. 09-伪数组 arguments

    arguments代表的是实参.有个讲究的地方是:arguments只在函数中使用. (1)返回函数实参的个数:arguments.length 例子: fn(2,4); fn(2,4,6); fn( ...

  3. Math对象应用详解

    JavaScript中的Math对象提供了大量的算术运算功能和数值操作方法. JavaScript中的Math对象的与众不同之处在于,它是一个全局对象.在使用Math对象之前,既不需要将一个变量声明为 ...

  4. CSS的vertical-align

    转载自https://blog.csdn.net/FE_dev/article/details/75948659 说明 vertical-align属性,是CSS属性中一个比较重要的属性,也是比较不好 ...

  5. 并发之volatile关键字

    volatile关键字 volatile关键字是什么 在上一章我们讲到了并发的的三个概念,那么今天在讲解下在java中可以保证可见性和有序性的一个关键字. volatile关键字 :当变量的值被该关键 ...

  6. DDD领域模型AutoMapper实现DTO(七)

    DTO的应用场景: 定义产品类: public class Product { public string ProductName { get; set; } public decimal Produ ...

  7. 08 IO库

    #include<iostream> #include<vector> #include<string> #include<fstream> using ...

  8. 扩展BSGS算法

    求解A^x ≡ B mod P (P不一定是质数)的最小非负正整数解 先放几个同余定理: 一.判断如果B==1,那么x=0,算法结束 二.若gcd(A,P)不能整除 B,则 无解,算法结束 三.若gc ...

  9. .NET中JSON序列化(数据集转JSON)

    Json序列化和反序列化指的是:对象序列化为JSON,并可用于从 JSON 反序列化对象 在.net 3.5中已支持JSON,引用命名空间: using System.Web.Script.Seria ...

  10. 2018年商业版idea破解安装介绍

    1. IntelliJ IDEA 2018商业版-安装 首先去官网http://www.jetbrains.com/idea/download/#section=windows下载Ultimate版( ...