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. sqlserver2008 链接服务器 2000

    背景 这个项目就有意思了,我用的是sqlserver2008,对方用的是sqlserver2000,还装在windows2000上,是个很老的系统了.两方要对接,对方技术太菜,自己竟然不会转2000. ...

  2. dblink 退出 session

    以dblink的表现为例,我一直认为dblink的远程连接session仅在操作(select,dml)发生时短期存在,在操作完成后依据一定条件保留或退出. 而事实并非如此,随便使用一个远程查询语句如 ...

  3. MFC CStdioFile

    读Text文件 void CNWiReworkDlg::ReadHexFile() { using namespace std; CStdioFile file; file.Open(hexFileP ...

  4. sqlyog通过跳板机ssh连接mysql数据库

    方法一: 方法二: 在跳板机上启动sh脚本做ssh端口转发,客户端配置连接 10.0.0.1的8306端口即可 jdbc:mysql://10.0.0.1:8306/testdb?useUnicode ...

  5. spring事物深入了解

    1.问题 1.以前对事物的了解只是停留在声明式事物,配置xml,或使用注解,事物的传播行为也只用过REQUIRED和SUPPORTS,可以说对事物的了解很模糊. 2.直到在开发中遇到问题.. 问题的描 ...

  6. Mess it up!搞乱代码

    Mess it up! 作者: Laruence(   ) 本文地址: http://www.laruence.com/2009/01/07/656.html 转载请注明出处 恩,这段代码还能再乱点, ...

  7. winform(记事本的打印)

  8. caffe:fine-tuning

    http://blog.csdn.net/u010402786/article/details/70141261 https://zhuanlan.zhihu.com/p/22624331

  9. &&(与),||(或),|,!(非)

    &&(与),||(或),|,!(非) 只能用于布尔值 //: object/test.java package object; import java.util.*; public c ...

  10. 步步为营-68-asp.net简单练习(get set)

    1 加法计算器 using System; using System.Collections.Generic; using System.Linq; using System.Text; using ...