`
haoningabc
  • 浏览: 1482865 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

awk的helloworld

awk 
阅读更多
两次过滤
awk -F '"' '{print $2}' icon.txt | awk -F ',' '{print $1}'>add.txt


#!/bin/awk -f
BEGIN {
    for(i=0;i<ARGC;i++){
        printf "ARGV[%d]= %s\n",i,ARGV[i];
    }
    exit;
}

[root@red54apple mytest]# awk -f awktest.sh aaa bbb
ARGV[0]= awk
ARGV[1]= aaa
ARGV[2]= bbb

[root@red54apple mytest]# ./awktest.sh haha haoning gege
ARGV[0]= awk
ARGV[1]= haha
ARGV[2]= haoning
ARGV[3]= gege\


解析个log
#!/bin/sh
echo "<?xml version=¥"1.0¥" encoding=¥"GBK¥"?>" > /opt/log/local3/pms.xml;
echo "<Root>" >> /opt/log/local3/pms.xml;

grep "pms_z" /opt/log/local3/local3.log |awk '
BEGIN{indx=0;arr[0]=0;}
{
        indx++; 
        arr[indx]= $(NF-1)" "$(NF);
}
END{
        slen=asort(arr,tA);
        tmpentry="";
        if(slen>1){
        for(i=2;i<=slen;i++){
                split(tA[i],mon,"|");
                split(mon[1],monn,":");
                if(tmpentry==mon[1]){ 
                        print "                <QuoteImageID>"mon[7]"</QuoteImageID>";
                }else{
                        if(i>2){
                                print "            </QuoteImages>";
                                print "        </Images>";
                                print "    </ImageInfo>";
                        } 
                        print "    <ImageInfo>¥n        <Page>"; 
                        print "            <PageID>"monn[2]"</PageID>";
                        print "            <PageLink>"mon[2]"</PageLink>";
                        print "            <Title>"mon[3]"</Title>";
                        print "            <PublishTime>"mon[4]"</PublishTime>";
                        print "            <QuoteUser>"mon[5]"</QuoteUser>";
                        print "            <PageMatrix>"mon[6]"</PageMatrix>";
                        print "            <PageKeywords>"mon[8]"</PageKeywords>";
                        print "            <PageDescription>"mon[9]"</PageDescription>";
                        print "        </Page>";
                        print "        <Images>";
                        print "            <QuoteImages>";
                        print "                <QuoteImageID>"mon[7]"</QuoteImageID>";
                };
                tmpentry=mon[1];
        }
        print "            </QuoteImages>";
        print "        </Images>";
        print "    </ImageInfo>";
        }
}' >> /opt/log/local3/pms.xml;

grep "pms_b" /opt/log/local3/local3.log |awk '
BEGIN{
        indx=0;arr[0]=0;
}{
        indx++; 
        arr[indx]= $(NF-1)" "$(NF);
}END{
        slen=asort(arr,tA);
        tmpentry="";
        for(i=2;i<=slen;i++){
                split(tA[i],mon,"|");
                split(mon[1],monn,":");
                split(mon[7],monnn,"/");
                split(mon[7],monnnn,".");
                if(tmpentry==mon[1]){ 
                        print "                <Image>";
                        print "                    <ImageName></ImageName>";
                        print "                    <ImageFormat>"monnn[3]"</ImageFormat>";
                        print "                    <ImagePath>"mon[7]"</ImagePath>";
                        print "                    <ImageSource></ImageSource>";
                        print "                </Image>";
                }else{
                        if(i>2){
                                print "            </ReturnImages>";
                                print "        </Images>";
                                print "    </ImageInfo>";
                        } 
                        print "    <ImageInfo>¥n        <Page>"; 
                        print "            <PageID>"monn[2]"</PageID>";
                        print "            <PageLink>"mon[2]"</PageLink>";
                        print "            <Title>"mon[3]"</Title>";
                        print "            <PublishTime>"mon[4]"</PublishTime>";
                        print "            <QuoteUser>"mon[5]"</QuoteUser>";
                        print "            <PageMatrix>"mon[6]"</PageMatrix>";
                        print "            <PageKeywords>"mon[8]"</PageKeywords>";
                        print "            <PageDescription>"mon[9]"</PageDescription>";
                        print "        </Page>";
                        print "        <Images>";
                        print "            <ReturnImages>";
                        print "                <Image>";
                        print "                    <ImageName>"monnn[3]"</ImageName>";
                        print "                    <ImageFormat>"monnnn[2]"</ImageFormat>";
                        print "                    <ImagePath>"mon[7]"</ImagePath>";
                        print "                    <ImageSource></ImageSource>";
                        print "                </Image>";
                };
                tmpentry=mon[1];
        }
        print "            </ReturnImages>";
        print "        </Images>";
        print "    </ImageInfo>";
}' >> /opt/log/local3/pms.xml;

echo "</Root>" >>/opt/log/local3/pms.xml;

#/usr/bin/rsync -av --password-file=/etc/rsyncd.secrets.nieting /opt/log/local3/pms.xml  test@10.1.221.74::testpmsxml





时隔3年多,又整了一下
[root@svr58 result]# cat my.sh 
#!/bin/sh
if [ -z "$1" ];
then
    echo "please input crawl file name"; 
    exit;
fi
grep "BigPicImg" $1 >tmp_BigPicImg.txt
awk '
BEGIN{indx=0;arr[0]=0;}  
{  
        indx++;   
        arr[indx]= $0;  
}  
END{  
    for(j=1;j<length(arr);j++){
        split(arr[j],monn,"\"");  
        split(monn[2],thisarray,",");
        slen = length(thisarray);  
        tmpname=thisarray[1];
        print "mkdir "tmpname;
        for(i=2;i<=slen;i++){  
            print "wget -O "tmpname"/"tmpname"_big_"i-1".jpg '\''"thisarray[i]"'\''";
        }
    } 
}' tmp_BigPicImg.txt  >exe_wget.sh
rm tmp_BigPicImg.txt
#----------------------
grep "SmallPicImg" $1 >tmp_SmallPicImg.txt
awk '
BEGIN{indx=0;arr[0]=0;}  
{  
        indx++;   
        arr[indx]= $0;  
}  
END{  
    for(j=1;j<length(arr);j++){
        split(arr[j],monn,"\"");  
        split(monn[2],thisarray,",");
        slen = length(thisarray);  
        tmpname=thisarray[1];
        print "mkdir "tmpname;
        for(i=2;i<=slen;i++){  
            print "wget -O "tmpname"/"tmpname"_small_"i-1".jpg '\''"thisarray[i]"'\''";
        }
    } 
}' tmp_SmallPicImg.txt  >>exe_wget.sh
rm tmp_SmallPicImg.txt
#--------------
grep "Download" $1 >tmp_Download.txt
awk '
BEGIN{indx=0;arr[0]=0;}  
{  
        indx++;   
        arr[indx]= $0;  
}  
END{  
    for(j=1;j<length(arr);j++){
        split(arr[j],monn,"\"");  
        split(monn[2],thisarray,",");
        slen = length(thisarray);  
        tmpname=thisarray[1];
        print "mkdir "tmpname;
        for(i=2;i<=slen;i++){  
            print "wget -O "tmpname"/"tmpname"_apk.apk '\''"thisarray[i]"'\''";
        }
    } 
}' tmp_Download.txt  >>exe_wget.sh
rm tmp_Download.txt
chmod 700 exe_wget.sh
./exe_wget.sh >a.log
[root@svr58 result]# 



[root@svr58 7po]# cat new.sh 
#!/bin/sh
if [ -z "$1" ];
then
    echo "please input crawl file name"; 
    exit;
fi
grep "IconImg" $1 >tmp_IconImg.txt
awk '
BEGIN{indx=0;arr[0]=0;}  
{  
        indx++;   
        arr[indx]= $0;  
}  
END{  
    for(j=1;j<length(arr);j++){
        split(arr[j],monn,"\"");  
        split(monn[4],thisarray,",");
        slen = length(thisarray);  
        tmpname=thisarray[1];
        tmpvarsion=thisarray[2];
        tmppath="/home/7po/"tmpname"/"tmpvarsion;
        print "mkdir -p "tmppath;
        for(i=3;i<=slen;i++){  
            print "wget -P "tmppath"  '\''"thisarray[i]"'\''";
        }
    } 
}' tmp_IconImg.txt  >7po_wget.sh
rm tmp_IconImg.txt
#---------------------------------
grep "PicImg" $1 >tmp_PicImg.txt
awk '
BEGIN{indx=0;arr[0]=0;}  
{  
        indx++;   
        arr[indx]= $0;  
}  
END{  
    for(j=1;j<length(arr);j++){
        split(arr[j],monn,"\"");  
        split(monn[4],thisarray,",");
        slen = length(thisarray);  
        tmpname=thisarray[1];
        tmpvarsion=thisarray[2];
        tmppath="/home/7po/"tmpname"/"tmpvarsion;
        print "mkdir -p "tmppath;
        for(i=3;i<=slen;i++){  
            split(thisarray[i],thisurl,"?");
            print "wget -P "tmppath"  '\''"thisurl[1]"'\''";
        }
    } 
}' tmp_PicImg.txt  >>7po_wget.sh
rm tmp_PicImg.txt
#--------------------
grep "Download" $1 >tmp_Download.txt
awk '
BEGIN{indx=0;arr[0]=0;}  
{  
        indx++;   
        arr[indx]= $0;  
}  
END{  
    for(j=1;j<length(arr);j++){
        split(arr[j],monn,"\"");  
        split(monn[4],thisarray,",");
        slen = length(thisarray);  
        tmpname=thisarray[1];
        tmpvarsion=thisarray[2];
        tmppath="/home/7po/"tmpname"/"tmpvarsion;
        print "mkdir -p "tmppath;
        for(i=3;i<=slen;i++){  
            print "wget -O "tmppath"/"tmpname".apk  '\''"thisarray[i]"'\''";
        }
    } 
}' tmp_Download.txt  >>7po_wget.sh
rm tmp_Download.txt
[root@svr58 7po]# 
分享到:
评论

相关推荐

    AWK实例教程 AWK实例教程中文版

    例如`awk '{print "hello world"}' /etc/passwd`会在每一行前打印`hello world`。 #### 三、字段处理 - **字段分隔符**:使用`-F`选项指定字段分隔符。例如`awk -F ":" '{print $1}' /etc/passwd`会打印出/etc/...

    各种程序语言的Hello_World程序

    module HelloWorld (main) where main = putStrLn "Hello World!\n" ``` **解析:** - Haskell是一种纯函数式编程语言。 - `module`定义模块。 - `putStrLn`用于输出字符串。 #### Icon ```icon procedure main() ...

    Matlab代码verilog-helloworld:各种语言的Helloworld程序

    各种语言的Helloworld程序 b 阿达 adventure_game_studio_script 阿尔高 amiga_e 杀伤人员地雷 苹果脚本 弧 as3 自动 awk 基本的 批 f 贝努格 嘘声 脑干 二氧化硅 C 锡兰 厨师 Clojure 科博尔 咖啡脚本 coldfusion_...

    awk set 使用手册

    var = "Hello, World!" } ``` 数组的设置同样简单,可以使用索引来设置元素,如: ```awk BEGIN { array[1] = "First" array["key"] = "Value" } ``` 三、模式匹配与条件设置 `awk`中的模式匹配是通过正则...

    Linux AWK内置函数

    - **示例**:`awk 'BEGIN { printf("%s\n", sprintf("Hello %s", "World")) }'` 输出 “Hello World”。 ### 使用示例 ```bash [wangsl@centos5~]$ awk 'BEGIN { info="this is a test 2010 test!"; if (index...

    sed与awk.zip

    例如,`sed '/^$/d'`会删除所有空行,`sed 's/^.*$/Hello, World!/'`则会将所有行替换为"Hello, World!"。 接下来,我们来讨论`awk`。`awk`是一个功能强大的文本分析工具,它可以根据指定的模式对文件进行处理,并...

    awk手册.pdf (高清)

    例如:`awk 'BEGIN {print "Hello, World!"}'` 2. **从脚本文件中读取命令**:当需要执行更复杂的操作或脚本较长时,可以将脚本保存为文件,并通过 `-f` 参数指定该文件。例如:`awk -f myscript.awk` #### 2.2 ...

    awk使用大全

    最简单的awk脚本可以仅包含一个动作,如`awk '{print "Hello, world"}'`,该命令会在处理任何输入之前输出“Hello, world”。 ##### 1. BEGIN和END模式 - **BEGIN模式**:在任何输入被读取前执行。例如,`awk '...

    linux ,awk ,awk详解

    例如,`echo 'Hello, World!' | awk '{print $1}'` 将打印出 "Hello,"。 总之,awk 是一个强大的文本处理工具,通过其丰富的功能和灵活的语法,可以有效地对文本数据进行分析和操作。熟练掌握 awk,对于 Linux 系统...

    linux grep sed awk命令详解

    例如,`sed 's/hello/world/g' file.txt` 将文件中所有出现的“hello”替换为“world”。 - `a\text`:在当前行后添加text。例如,`sed '2a\New line' file.txt` 在第2行后添加“New line”。 - `i\text`:在当前...

    Linux主要shell命令、sed、awk使用详解

    例如,`echo "Hello World"` 将在终端输出 "Hello World"。 13. **history**: 显示历史命令。例如,`history` 命令将列出你最近执行过的命令。 14. **man**: 查看命令的手册页面。例如,`man ls` 将显示 `ls` 命令的...

    linux——awk的用法

    awk '{print "Hello, world"}' test ``` 这里,`test`是一个包含任意文本的文件。`print "Hello, world"`这条命令将在屏幕上输出“Hello, world”。 ##### BEGIN模式 `BEGIN`模式在任何输入被读取之前执行,可以...

    win下的grep/sed/awk

    然而,为了实现类似的功能,例如文本处理和搜索,有一些工具可以帮助我们在Windows环境下模拟Unix/Linux中的`grep`、`sed`和`awk`。这三个工具在文本处理领域极其重要,它们分别用于查找、替换和格式化文本数据。 `...

    在latex中添加matlab代码-helloworld:各种语言的Helloworld程序,欢迎提出请求:)

    各种语言的Helloworld程序 b 阿达 adventure_game_studio_script 阿尔高 amiga_e 杀伤人员地雷 苹果脚本 弧 as3 自动 awk 基本的 批 f 贝努格 嘘声 脑干 二氧化硅 C 锡兰 厨师 Clojure 科博尔 咖啡脚本 coldfusion_...

    shell编程,sed,awk,grep等教程整理

    例如,变量用于存储数据,如`VAR="Hello, World!"`;条件语句如`if-else`用于根据特定条件执行不同代码块;循环结构如`for`和`while`用于重复执行任务;函数则可以封装可重用的代码段。 接下来,我们转向sed...

    Python实现像awk一样分割字符串

    在上面的示例中,awk 将 `demo.txt` 文件中的 "hello world" 作为一个由单个空格分隔的两个字段打印出来。 在 Python 中,如果我们直接使用 `split()` 方法,结果可能会有所不同: ```python msg = 'hello world' ...

    awk&sed; PDF文档学习资料

    Hello world! This is a test. ``` 使用sed将所有“test”替换为“example”: ``` sed 's/test/example/g' text.txt ``` ### 三、awk与sed进阶用法 #### awk进阶功能 - **数组处理**:awk支持一维和二维数组,...

Global site tag (gtag.js) - Google Analytics