注:转自老男孩老师技术博客http://oldboy.blog.51cto.com/2561410/950730 深入浅出三剑客之awk必杀技一例 缘起:上完第三节培训课后,同学们群内讨论氛围相当的好,那么就再给大家一点惊喜,希望大家继续加油努力,达到你们的第一阶段薪水目标。 老男孩linux
1:统计文本某字符出现次数;
1:awk 执行过程,一次读取一行,把所以命令都执行一次,再读取下一行;有BEGIN模式,先执行完BEGIN操作块才开始读取输入内容(很重要);BEGIN常常用与修改多个内置变量。 [root@localhost ~]# awk 'BEGIN{print "MAKE YEAR"}' MAKE YEAR(这个例子,就是写执行BEGIN,和输入内容无关) 2:END 正好和B
最近在学shell ,书上有个备份文件实例,突然想到虚拟机root目录以前做了多备份,很乱,想批量删除,就有此实例了。 [root@bogon ~]# cat rmback.sh #!/bin/bash #rm backfile for file in /root/* do
#!/bin/bash select item in one two three four five do if [ ! -z "$item" ];then echo "Your chose option number $REPLY while is \"$item\"&
[root@bogon ~]# cat -n ping.sh 1 #!/bin/bash 3 ##test ping 4 UPHOSTS=/var/log/uphosts.`date +%m%d%Y` 5 DOWNHOSTS=/var/log/downhosts.`date +%m%d%Y` 6 PREFIX=192.
高兴啊,今天网上一个朋友答应教我perl了,要教会我小骆驼的内容和引用+OO,每周有一天去他家学习,写这个也是他让我写的,用shell,perl写。我只用shell 写出来了,贴出来了,大家也可以尝试写,贴出来交流下 #!/bin/bash #Write:luyafei log_file=`dat
昨天发简历到群里,让他们看下俺的简历,可行不,最后群里一个朋友说,出题考考俺 ,题目就是截获IP地址 当时俺就傻眼了,不会呀,最后想到perl 写截取IP地址,如下是我的 #!/usr/bin/perl use warning; $ip = system `ifconfig`; if ($ip =~/inet addr:\b\d+\.\d+\.\d+\.\d+/ ) { &
最近又想学shell了,以前学的好多都忘记了,这回学的时候,记点笔记,可以经常翻着看, 1. 在shell 中 常看到特殊变量 $1 ,$2 ... $1表示引用 传入shell脚本的的第一个参数,$2 引用传入shell脚本的第二个参数, 以此类推 2. [root@localhost ~]# awk -F : '{ print
通过使用文件描述符来打开和关闭一个文件。 这里4作为文件描述符,exec 4<&0 0<stock.txt 。 #!/bin/sh exec 4<&0 0<stock.txt read line1 read line2 exec 0<&4 echo $line1 echo $line2
echo 命令 用途 将字符串写到标准输出 语法 echo [ String ... ] 描述 命令 echo 将字符串写到标准输出中。多个字符串间由空格隔开,指定的最后一个 String 参数后跟有换行符。如果没有指定 String 参数,将显示一空白行(换行符)。 通常您可以通过 --(双连字符)来区分标志和一个以连字符开头的字符串。既然标志不被 ec
for循环 如何工作? for 循环是3个shell循环结构中的第一个。这个循环允许指定一个值的列表。列表中的命令为每个在列表中的值执行。 这个循环的语法结构是这样的: for NAME [in LIST ]; do COMMANDS; done 如果 [in LIST] 不存在的话,就使用 in $@ 替换且 for 对每个位置参数执行一次 COMM
文件测试操作符 如果下面的条件成立将会返回真. -e 文件存在 -a 文件存在 这个选项的效果与-e相同. 但是它已经被"弃用"了, 并且不鼓励使用. -f 表示这个文件是一个一般文件(并不是目录或者设备文件) -s 文件大小不为零 -d 表示这是一个目录 -b 表示这是一个块设备(软盘, 光驱, 等等.) -c
` `.``.``.` `条件判断结构, 而不是[ ... ], 能够防止脚本中的许多逻辑错误. 比如, &&, ||, <, 和> 操作符能够正常存在于` `条件判断结构中, 但是如果出现在[ ]结构中的话, 会报错. 要求用空格隔开 其中的 条件判断 等
case语句 :它能够把变量的内容与多个模板进行匹配,再根据成功匹配的模板去决定应该执行哪部分代码。 使用格式: case 匹配母板 in 模板1 [ | 模板2 ] … ) 语句组 ;; 模板3 [ | 模板4 ] … ) 语句组
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号