shell脚本语句

 grep -w zhangsan 1.txt|awk '{sum += $2} END {print sum}'

grep -w跟grep -o的区别 :精准匹配。

 

一、linux中过滤IP地址

最简短

ifconfig|awk NR==2|awk -F '[ :]+' '{print $4}'`

最麻烦

ifconfig eth4|grep "inet addr:"|awk -F: '{print $2}'|awk '{print $1}'

其他

IP=`ifconfig eth4|awk NR==2|cut -f2 -d":"|cut -f1 -d" "`

VIP=`ifconfig|awk NR==2|awk -F: '{print $2}'|awk '{print $1}'`

 

for循环语句

#!/bin/bash
for x in one two three four
do
echo number: $x
done

 

for i in /root/find/*
do
# echo $(basename $i) is a file living in /root/find
# echo $i
# echo $(basename $i)
echo `basename $i`
done

 

find命令查找

find . 查看当前目录下的文件及子文件中的内容

find . -name "*.txt"   #查找当前目录下已.txt结尾的文件

find . -iname "*.txt"   #查找当前目录下已.txt结尾的文件并不分大小写

find . \( -iname "*.txt" -o -name "*.pdf" \) #

find . -iname "*.txt" -o -name "*.pdf"    #查找当前目录下已.txt结尾已.pdf结尾的文件.txt结尾的文件不区分大小写

find /root/find/ -name "*.txt"    ==    find /root/find/ -path "*.txt"    匹配文件路径或文件

 

find正则表达式

#查找根目录下以/find结尾的文件或目录

find / -regex ".*/find"
/usr/bin/find
/bin/find
/root/find

#查找根目录下以find结尾的文件或目录

find / -regex ".*find"
/usr/bin/find
/usr/bin/gst-typefind
/usr/bin/oldfind
/bin/find
/root/find

运用regex对文件路径进行匹配,iregex忽略大小写。

 

否定参数

find . ! -name "*.txt"    打印出所有不以.txt结尾的文件

 

type类型参数

find . -type d

f 普通文件    l 连接文件    d 目录

 

根据文件时间戳进行查找

find . -type f  

 

 按照文件大小进行查找

 

 

 

 

 

posted @ 2017-08-22 16:01  肖咏卓  阅读(251)  评论(0编辑  收藏  举报