良玉的博客 点点滴滴,积水成河_良玉的博客_页游、手游linux运维工程师之路

sed命令学习笔记

1.简介
sed是非交互式的编辑器。它不会修改文件,除非使用shell重定向来保存结果。默认情况下,所有的输出行都被打印到屏幕上。
sed编辑器逐行处理文件(或输入),并将结果发送到屏幕。具体过程如下:首先sed把当前正在处理的行保存在一个临时缓存区中(也称为模式空间),然后处理临时缓冲区中的行,完成后把该行发送到屏幕上。sed每处理完一行就将其从临时缓冲区删除,然后将下一行读入,进行处理和显示。处理完输入文件的最后一行后,sed便结束运行。sed把每一行都存在临时缓冲区中,对这个副本进行编辑,所以不会修改原文件。


阅读全文...

awk学习笔记

简介

awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。

awk有3个不同版本: awk、nawk和gawk,未作特别说明,一般指gawk,gawk 是 AWK 的 GNU 版本。

awk其名称得自于它的创始人 Alfred Aho 、Peter Weinberger 和 Brian Kernighan 姓氏的首个字母。实际上 AWK 的确拥有自己的语言: AWK 程序设计语言 , 三位创建者已将它正式定义为“样式扫描和处理语言”。它允许您创建简短的程序,这些程序读取输入文件、为数据排序、处理数据、对输入执行计算以及生成报表,还有无数其他的功能。


阅读全文...

iptables启动脚本分析

#!/bin/sh  
#  
# iptables      Start iptables firewall  
#  
# chkconfig: 2345 08 92  
# description:  Starts, stops and saves iptables firewall  
#  
# config: /etc/sysconfig/iptables  
# config: /etc/sysconfig/iptables-config

阅读全文...

sed实例

一、sed (Stream Editor)

1、定位行:

sed -n '12,~3p' pass #从第12行开始,直到下一个3的倍数行(12-15行)

sed -n '12,+4p' pass #从第12行开始,连续4行(12-16行)

sed -n '12~3p' pass #从第12行开始,间隔3行输出一次(12,15,18,21...)


阅读全文...

shell数组

  • 1.数组的声明 

  •  

  •  1)array[key]=value # array[0]=one,array[1]=two
     2)declare -a array # array被当作数组名
     3)array=( value1 value2 value3 ... )
     4)array=( [1]=one [2]=two [3]=three ... )
     5)array="one two three" # echo ${array[0|@|*]},array变量当作数组来处理,但数组元素只有字符串本身


阅读全文...

sed跨行匹配

跨行匹配在sed里算不上是个难点,但绝对能考验一个人的sed基础……

首先明确一下几个概念:
b label
Branch to label; if label is omitted, branch to end of script.
h H    Copy/append pattern space to hold space.
g G    Copy/append hold space to pattern space.
D      Delete  up  to  the  first embedded newline in the pattern space.  Start next cycle, but skip
reading from the input if there is still data in the pattern space.
n N    Read/append the next line of input into the pattern space.


阅读全文...

IDC机房测速脚本

sh cesu.sh iplist
iplist(可以ssh上去的,因为rsync要传文件):

203.156.205.136         上海电信                tel          

125.39.17.194           天津联通                uni          
然后生成html,显示在网页

阅读全文...

vim使用技巧

1. 选定文字 / 拷贝粘贴

v为可视模式,可以选定多行。选定多行之后,可以用yy或者dd等等进行拷贝和剪切。
p 是粘贴
y 和d 可以直接拷贝或者剪切选定的内容
yw是拷贝一个单词

阅读全文...

标签: linuxvimshell

作者:良玉 分类:Shell 浏览:413 评论:0

BASH Shell的特殊变量

在shell中,除了可以使用环境变量外,还可以使用专门由shell使用的shell特殊变量。

与环境变量不同的是,用户只能引用shell特殊变量,而不能设置这些变量的值。
shell特殊变量都由美元符$后随单个字符组成。


阅读全文...

shell中$(( )) 与 $( ) 还有${ }的区别

$( ) 与 ` ` (反引号)
在 bash shell 中,$( ) 与 ` ` (反引号) 都是用来做命令替换用(command substitution)的。

所谓的命令替换与我们第五章学过的变量替换差不多,都是用来重组命令行:
* 完成引号里的命令行,然后将其结果替换出来,再重组命令行。
例如:
[code]$ echo the last sunday is $(date -d "last sunday" +%Y-%m-%d)[/code]


阅读全文...

标签: shell特殊

作者:良玉 分类:Shell 浏览:375 评论:0

shell trap

trap用于捕获信号。
信号可以被应用程序或脚本捕获。并依据该

阅读全文...

标签: shell.trap

作者:良玉 分类:Shell 浏览:401 评论:0

shell shift

shift命令会重新分配位置参数,其实就是把所有的位置参数都向左移动一个位置。

比如shift 3表示原来的$4现在变成$1,原来的$5现在变成$2等等,原来的$1、$2、$3丢弃,$0不移动。不带参数的shift命令相当于shift 1。
我们知道,对于位置变量或命令行参数,其个数必须是确定的,或者当 Shell 程序不知道其个数时,可以把所有参数一起赋值给变量$*。若用户要求 Shell 在不知道位置变量个数的情况下,还能逐个的把参数一一处理,也就是在 $1 后为 $2,在 $2 后面为 $3 等。在 shift 命令执行前变量 $1 的值在 shift 命令执行后就不可用了。


阅读全文...

标签: shellshift

作者:良玉 分类:Shell 浏览:467 评论:0