- 浏览: 1482865 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (691)
- linux (207)
- shell (33)
- java (42)
- 其他 (22)
- javascript (33)
- cloud (16)
- python (33)
- c (48)
- sql (12)
- 工具 (6)
- 缓存 (16)
- ubuntu (7)
- perl (3)
- lua (2)
- 超级有用 (2)
- 服务器 (2)
- mac (22)
- nginx (34)
- php (2)
- 内核 (2)
- gdb (13)
- ICTCLAS (2)
- mac android (0)
- unix (1)
- android (1)
- vim (1)
- epoll (1)
- ios (21)
- mysql (3)
- systemtap (1)
- 算法 (2)
- 汇编 (2)
- arm (3)
- 我的数据结构 (8)
- websocket (12)
- hadoop (5)
- thrift (2)
- hbase (1)
- graphviz (1)
- redis (1)
- raspberry (2)
- qemu (31)
- opencv (4)
- socket (1)
- opengl (1)
- ibeacons (1)
- emacs (6)
- openstack (24)
- docker (1)
- webrtc (11)
- angularjs (2)
- neutron (23)
- jslinux (18)
- 网络 (13)
- tap (9)
- tensorflow (8)
- nlu (4)
- asm.js (5)
- sip (3)
- xl2tp (5)
- conda (1)
- emscripten (6)
- ffmpeg (10)
- srt (1)
- wasm (5)
- bert (3)
- kaldi (4)
- 知识图谱 (1)
最新评论
-
wahahachuang8:
我喜欢代码简洁易读,服务稳定的推送服务,前段时间研究了一下go ...
websocket的helloworld -
q114687576:
http://www.blue-zero.com/WebSoc ...
websocket的helloworld -
zhaoyanzimm:
感谢您的分享,给我提供了很大的帮助,在使用过程中发现了一个问题 ...
nginx的helloworld模块的helloworld -
haoningabc:
leebyte 写道太NB了,期待早日用上Killinux!么 ...
qemu+emacs+gdb调试内核 -
leebyte:
太NB了,期待早日用上Killinux!
qemu+emacs+gdb调试内核
两次过滤
awk -F '"' '{print $2}' icon.txt | awk -F ',' '{print $1}'>add.txt
[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
时隔3年多,又整了一下
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]#
发表评论
-
vim复制代码包含注释时格式会乱掉(转)
2013-07-16 10:47 3512乱码问题 一般来说只需要正确设置vim的编码识别序列就很少会遇 ... -
批量替换文件后缀名
2012-10-22 22:49 775for j in *.aga; do echo ` mv $j ... -
路由相关的的一些东西
2012-10-03 11:01 1066熟悉使用ifconfig 会非常方便。 if ... -
ubuntu脚本有区别rename和bash
2012-09-30 11:25 6322在ubuntu上写法有区别 使用 #!/bin/bash代替# ... -
一些常用的shell
2012-08-29 20:37 1100sudo !! 2009-01-26 10:26:48 Use ... -
itop
2012-06-26 23:06 1459Linux下中断来源可以从 /proc/interrupts ... -
telnet发邮件
2012-06-26 23:05 1751参考。http://forum.ubuntu.org.cn/v ... -
vim折叠和vim相关
2011-12-03 11:16 1225http://blog.csdn.net/namecyf/ar ... -
sed常用
2011-11-21 10:37 1522转http://blog.chinaunix.net/sp ... -
vim常用参数
2011-11-21 09:46 875cat - aa.txt >bb.txt cat -v ... -
Print without executing the last command that starts with
2011-11-10 14:24 1004Print without executing the las ... -
shell的function
2011-10-24 10:22 1137#!/bin/sh #/bin/sh hello(){ ... -
(转)查看网卡流量shell脚本工具
2011-10-19 10:10 945http://www.mysqlops.com/2011/10 ... -
看错误号的定义
2011-09-22 09:14 955perl -MPOSIX -e 'print strerror ... -
diff和patch
2011-09-08 23:31 1021网上找的,摘抄 diff和patch是一对工具,在数学上来说, ... -
mkfifo 和nc
2011-08-25 00:00 1690服务器端 nc -l 1234 客户端 nc 10.10.10 ... -
linux date时间戳互相转换
2011-08-17 15:15 400631.查看指定时间的时间戳 查看当前时间 #date + ... -
linux修改主机名
2011-07-21 09:32 1087转http://hi.baidu.com/sunshibing ... -
转unix文本格式转换
2011-07-20 09:33 2090转http://wly719.iteye.com/blog/5 ... -
sed&& awk
2011-07-18 21:02 1084http://www.reddragonfly.org/abs ...
相关推荐
例如`awk '{print "hello world"}' /etc/passwd`会在每一行前打印`hello world`。 #### 三、字段处理 - **字段分隔符**:使用`-F`选项指定字段分隔符。例如`awk -F ":" '{print $1}' /etc/passwd`会打印出/etc/...
module HelloWorld (main) where main = putStrLn "Hello World!\n" ``` **解析:** - Haskell是一种纯函数式编程语言。 - `module`定义模块。 - `putStrLn`用于输出字符串。 #### Icon ```icon procedure main() ...
各种语言的Helloworld程序 b 阿达 adventure_game_studio_script 阿尔高 amiga_e 杀伤人员地雷 苹果脚本 弧 as3 自动 awk 基本的 批 f 贝努格 嘘声 脑干 二氧化硅 C 锡兰 厨师 Clojure 科博尔 咖啡脚本 coldfusion_...
var = "Hello, World!" } ``` 数组的设置同样简单,可以使用索引来设置元素,如: ```awk BEGIN { array[1] = "First" array["key"] = "Value" } ``` 三、模式匹配与条件设置 `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 '/^$/d'`会删除所有空行,`sed 's/^.*$/Hello, World!/'`则会将所有行替换为"Hello, World!"。 接下来,我们来讨论`awk`。`awk`是一个功能强大的文本分析工具,它可以根据指定的模式对文件进行处理,并...
例如:`awk 'BEGIN {print "Hello, World!"}'` 2. **从脚本文件中读取命令**:当需要执行更复杂的操作或脚本较长时,可以将脚本保存为文件,并通过 `-f` 参数指定该文件。例如:`awk -f myscript.awk` #### 2.2 ...
最简单的awk脚本可以仅包含一个动作,如`awk '{print "Hello, world"}'`,该命令会在处理任何输入之前输出“Hello, world”。 ##### 1. BEGIN和END模式 - **BEGIN模式**:在任何输入被读取前执行。例如,`awk '...
例如,`echo 'Hello, World!' | awk '{print $1}'` 将打印出 "Hello,"。 总之,awk 是一个强大的文本处理工具,通过其丰富的功能和灵活的语法,可以有效地对文本数据进行分析和操作。熟练掌握 awk,对于 Linux 系统...
例如,`sed 's/hello/world/g' file.txt` 将文件中所有出现的“hello”替换为“world”。 - `a\text`:在当前行后添加text。例如,`sed '2a\New line' file.txt` 在第2行后添加“New line”。 - `i\text`:在当前...
例如,`echo "Hello World"` 将在终端输出 "Hello World"。 13. **history**: 显示历史命令。例如,`history` 命令将列出你最近执行过的命令。 14. **man**: 查看命令的手册页面。例如,`man ls` 将显示 `ls` 命令的...
awk '{print "Hello, world"}' test ``` 这里,`test`是一个包含任意文本的文件。`print "Hello, world"`这条命令将在屏幕上输出“Hello, world”。 ##### BEGIN模式 `BEGIN`模式在任何输入被读取之前执行,可以...
然而,为了实现类似的功能,例如文本处理和搜索,有一些工具可以帮助我们在Windows环境下模拟Unix/Linux中的`grep`、`sed`和`awk`。这三个工具在文本处理领域极其重要,它们分别用于查找、替换和格式化文本数据。 `...
各种语言的Helloworld程序 b 阿达 adventure_game_studio_script 阿尔高 amiga_e 杀伤人员地雷 苹果脚本 弧 as3 自动 awk 基本的 批 f 贝努格 嘘声 脑干 二氧化硅 C 锡兰 厨师 Clojure 科博尔 咖啡脚本 coldfusion_...
例如,变量用于存储数据,如`VAR="Hello, World!"`;条件语句如`if-else`用于根据特定条件执行不同代码块;循环结构如`for`和`while`用于重复执行任务;函数则可以封装可重用的代码段。 接下来,我们转向sed...
在上面的示例中,awk 将 `demo.txt` 文件中的 "hello world" 作为一个由单个空格分隔的两个字段打印出来。 在 Python 中,如果我们直接使用 `split()` 方法,结果可能会有所不同: ```python msg = 'hello world' ...
Hello world! This is a test. ``` 使用sed将所有“test”替换为“example”: ``` sed 's/test/example/g' text.txt ``` ### 三、awk与sed进阶用法 #### awk进阶功能 - **数组处理**:awk支持一维和二维数组,...