摘要: 在shell命令或编程中,可以用AWK强大的的文本处理能力。如果要格式化报文或从一个大的文本文件中抽取数据包,那么awk可完成这些任务。awk是一种解释的编程语言。awk也是shell过滤工具中最难掌握的。awk是一种自解释的编程语言。结合awk和sed和grep,将会使awk编程更加容易。awk语言最基本的功能是在文件或字符串中基于指定的规则浏览和抽取信息。有三种方式可调用awk.<
2016年11月16日
awk指令学习
摘要:从文本中抽取特定的信息,并显示出来一次读取一行文本,并按字符的分隔符切割gawk nawkawk [options] 'script' file1 file2,.....awk [options] 'pattern {action}' file1,file2,...print:只打印格式,不可自定义printf:可自定义打印格式 a w k语言的最基本功能是在文件或字符串中基于指定规则浏览和抽取信息。a w k抽取信息后,才能进行其他文本操作。完整的
分类:Shell
2016年11月16日
awk列编辑器
摘要:实现对特定的字符进行统计:[root@node1 sort]# cat domain http://www.etiantian.org/index.htmlhttp://www.etiantian.org/1.htmlhttp://post.etiantian.org/index.htmlhttp://mp3.etiantian.org/index.htmlhttp://www.etiantian.org/3.htmlhttp://post.etiantian.org/2.html[root@node1 sort]# awk-F "/" '{++S[$3]} END {for (key in S) print S[key],key }' doma
分类:Shell
2016年11月16日
sed在行首或者行尾添加内容
摘要:用sed命令在行首或行尾添加字符的命令有以下几种:假设处理的文本为test.file在每行的头添加字符,比如"HEAD",命令如下:sed 's/^/HEAD&/g' test.file在每行的行尾添加字符,比如“TAIL”,命令如下:sed 's/$/&TAIL/g' test.file运行结果如下图:几点说明:1."^"代表行首,"$"代表行尾2.'s/$/&TAIL/g'中的字符g代表每行出现的字符
分类:Shell
2016年11月16日
sed总结[群]
摘要:sed: Stream Editor 行编辑器 逐行编辑 将每行内容读入到内存中,在内存中进行处理,将结果返回给屏幕 ,此段内存空间称为模式空间默认不编辑原文件,仅对模式空间的数据进行处理,处理结束后,将模式空间的内容显示到屏幕 sed命令的使用格式sed [options] 'AddressCommand' file ... Address:表示对哪些行进行处理&nb
分类:Shell
2016年11月16日
sed必杀技一例
摘要:如果还有不会的,老男孩就拿出最后的讲解必杀技(先保密,嘿!),同学们想不会那是不可能的,除非你们自己主动放弃,哈哈。来,开整~!老男孩linux培训第三节课程课前第考试一题,问题如下1.如何取得/etiantian文件的权限对应的数字内容,如-rw-r--r--为644,要求使用命令取得644或0644这样的数字。解答: 这个问题的解答方法我们已经介绍了不下10种了,这里
分类:Shell
2016年11月16日
sed实例
摘要:[root@node201 ~]# cat -n passwd | sed '2,5d' //将2到5行删除后显示 1 root:$1$QUjP8B2.$ND50PLxs.tKYDypovEFab1:0:0:root:/root:/bin/bash 6 sync:*:5:0:sync:/sbin:/bin/sync 7 shutdown:*:6:0:shutdown:/sbin:/sbin/shutdown[root@node201 ~]# cat -n passwd | s
分类:Shell
2016年11月16日
sed命令详解
摘要:1.简介sed是非交互式的编辑器。它不会修改文件,除非使用shell重定向来保存结果。默认情况下,所有的输出行都被打印到屏幕上。sed编辑器逐行处理文件(或输入),并将结果发送到屏幕。具体过程如下:首先sed把当前正在处理的行保存在一个临时缓存区中(也称为模式空 间),然后处理临时缓冲区中的行,完成后把该行发送到屏幕上。sed每处理完一行就将其从临时缓冲区删除,然后将
分类:Shell
2016年11月16日
sed行编辑器
摘要: [root@localhost ~]# echo "ddd kkk" > b.txt[root@localhost ~]# cat b.txt ddd kkk[root@localhost ~]# sed 's#\(ddd\) \(kkk\)##g' b.txt [root@localhost ~]# sed 's#\(ddd\) \(kkk\)#\1\2#g' b.txt dddkkk[root@localhost ~]# sed 's#\(ddd\) \(kkk\)#\1#g' b.txt ddd[root@localhost ~]# sed 's#\(ddd\) \(kkk\)#\1 \2#g' b.txt ddd kkk[root@localho
分类:Shell
2016年11月16日
将/etc/hosts下所有的地址都ping 2次
摘要: 1 #/usr/bin/sh 2 #grad /etc/hosts and ping each address 3 cat /etc/hosts|grep -v '^#' | while read LINE 4 do 5 ADDR=`awk '{print $1}'` 6 for MACHINE in $ADDR 7 do &
分类:Shell
2016年11月16日
Windows 和 Linux 下生成以当前时间命名的文件
摘要:在 Windows、Linux 操作系统,分别利用BAT批处理文件和Shell脚本,生成类似“20110228_082905.txt”以“年月日_时分秒”命名的文件。 Windows BAT批处理文件:@echo offset time_hh=%time:~0,2%if /i %time_hh% LSS 10 (set time_hh=0%time:~1,1%)set filename=%date:~,4%%date:~5,2%%date:~8,2%_%time_hh%%time:~3,2%%time:~6,2%echo test >> %filename%.txt Linu
分类:Shell
2016年11月16日
批量修改文件名
摘要:解答:[准备测试数据]mkdir /oldboy cd /oldboy touch stu_102999_1_finished.jpg touch stu_102999_2_finished.jpg touch stu_102999_3_finished.jpg touch stu_102999_4_finished.jpg touch stu_102999_5_finished.jpg 方法1:shell脚本for循环结合sed实现[检查数据] [root@oldboy oldboy]# lltotal 4-rw-r--r-- 1 root root 85 Oct 2 12:54 oldboy_modi_file.sh-rw-r-
分类:Shell
2016年11月16日
文件名批量更改
摘要:问题:将文件名中的finished去掉:创建测试文件:[root@node1 mod_file_name]# cat a.txt stu_102999_2_finished.jpgstu_102999_3_finished.jpgstu_102999_4_finished.jpgstu_102999_5_finished.jpg[root@node1 mod_file_name]# touch `cat a.txt | tr "\n" " "`[root@node1 mod_file_name]# lltotal 4-rw-r--r-- 1 root root 104 Aug 24 09:39 a.txt-rw-r
分类:Shell
2016年11月16日
定时压缩备份数据
摘要:Centos 定时压缩备份数据今年公司买了一套OA产品,对于功能现在都还处在开发和配置阶段,作为管理员的我,需要对每天的数据及对应的数据库进行定期备份,因为OA产品是运行在Linux上的,所以我们需要Linux上配置shell脚本,然后通过计划任务来实现对数据的定时备份,对于相关脚本内容见下即可,但是需求是需要对指定的目录进行压缩然以日期进行命名,最终移动到指定的路劲即可。
分类:Shell
2016年11月16日
文件批量备份脚本
摘要:#!/bin/bash date=$(date +%Y-%m%d%H)bak_path=/application/bs_bak/staticproject_path=/wwwtmp_path=/tmp/staticsRETVAL=0# statictest -d "$bak_path" && echo "$bak_path exists" || mkdir "$bak_path" -pcd $project_pathecho $"Usage: $0 {lngiot-AdminWeb|lngiot-seed|lngiot-view}"rea
分类:Shell
2016年11月16日
企业案例:替换所有文件内特定的字符
摘要:问题: 一台lamp服务器,站点目录下的所有文件都被植入如下内容:<script lanauage=javascript scr=http://abc.com></script> 图片也被植入了,现在要将文件内所有的这种内容删除解决思路: 需要遍历所有目录所有文件,将以上被植入的内容删除向当前目录下的所有文件插入特征字符串: &nb
分类:Shell
2016年11月16日
取出权限位
摘要:[root@localhost ~]# stat /etc File: `/etc' Size: 12288 Blocks: 24 IO Block: 4096 directoryDevice: fd00h/64768d Inode: 9961473 Links: 122Access: (0755/drwxr-xr-x) Uid: (
分类:Shell
2016年11月16日
取出IP地址的多种方法
摘要:[root@localhost ~]# ifconfig eth0eth0 Link encap:Ethernet HWaddr 00:0C:29:17:55:07 inet addr:192.168.2.144 Bcast:192.168.255.255 Mask:255.255.0.0 inet6 addr: fe80::20c:29ff:fe17:5507/64 S
分类:Shell
2016年11月16日
cp_显示进度
摘要:#!/bin/bashPARAM_LIST=$*PARAM_NUM=$#TOTAL_SIZE=0for((i = 0; i < PARAM_NUM - 1; i++))do [ ! -r $1 ] && echo "Cannot read $1." && exit 1 SIZE=`du -s $1 | awk '{print $1}'` ((TOTAL_SIZE = TOTAL_SIZE