linux学习之awk find
2017-04-03 15:19
274 查看
1.awk这个命令主要是匹配列,grep是匹配行进行一些动作
cat data.txt | awk '{print $1}' --挑出文档中的第一列
cat data.txt | awk '{print $NF}' --打印出文档中最后一列
awk '{print $NF}' data.txt --与以上的操作一样
cat /etc/passwd | sed 's/:/ /g' | awk '{print $1}' 显示系统上所有的用户,就是用了两个动作先将文档规范化,在将要的信息挑选出来
cat /etc/passwd | awk -F: '{print $1}' --与一条操作结果一样,这里添加的-F参数是以:为分割并打印出了第一列
ifconfig eth0 | grep "inet addr"| sed 's/:/ /g'| awk '{print $3}' --只打印出eth0的IP地址
ifconfig eth0 | grep "inet addr" | awk '{print $2}' | awk -F: '{print $2}' --与上面一条命令一样可以实现同样的效果
awk在其中都是提取前面处理好的数据提取其中的列
df -h | grep "/$" | awk '{print $5}' | sed 's/%//g' --查看根分区的磁盘利用率
cat data.txt | awk '{print $NF}' | sed 's/^/&000: /' --在最后一列的前面加上000:+空格
cat data.txt | awk '{print "000:" $NF} ----在最后一列的前面加上000:,这个是awk自带的方法
2.find命令,主要是用来查询系统下的一些文件或者目录
find . -name "data.txt" --查找当前目录下data.txt的文档
find . -maxdepth 1 -type f -name "*.txt" ---在当前目录的第一级目录下查找名字为后缀是.txt的文件,增加maxdepth的参数
find . -maxdepth 1 -type f -name "*.txt" -mtime +2 --查看2天以前的,以目录范围和时间范围一起限制
find . -maxdepth 1 -type f -name "*.txt" -mtime -1 --查看一天以内的
承接参数exec和承接命令xargs,可以将前面的命令执行的结果当做后面一个命令的操作对象
find . -maxdepth 1 -type f -name "*.txt" -mtime -1 -exec rm -rf {} \; --删除一天以内的在一级目录下某某文件
find . -maxdepth 1 -type f -name "*.txt" -mtime -1 -exec cp {} /tmp/ \; --在cp后面的{}就是代表前面匹配到的文件,拷贝到/tmp/下
xargs 不能承接cp和mv这样的命令,但是可以承接删除命令
find /tmp/ -maxdepth 1 -type f -name "data.txt" -mtime -1 | xargs rm -rf {} \;
find / -maxdepth 1 -size +20M -type f ---找到大于20M的文件,在根目录的一级目录下
find / -maxdepth 2 -size +20M -type f -exec mv {} /tmp/ \; --可以将这些找到的文件移动到临时文件下
以上的命令都可以承接处理,在结合一些语句就可以编写成脚本处理相应的一些数据文档
cat data.txt | awk '{print $1}' --挑出文档中的第一列
cat data.txt | awk '{print $NF}' --打印出文档中最后一列
awk '{print $NF}' data.txt --与以上的操作一样
cat /etc/passwd | sed 's/:/ /g' | awk '{print $1}' 显示系统上所有的用户,就是用了两个动作先将文档规范化,在将要的信息挑选出来
cat /etc/passwd | awk -F: '{print $1}' --与一条操作结果一样,这里添加的-F参数是以:为分割并打印出了第一列
ifconfig eth0 | grep "inet addr"| sed 's/:/ /g'| awk '{print $3}' --只打印出eth0的IP地址
ifconfig eth0 | grep "inet addr" | awk '{print $2}' | awk -F: '{print $2}' --与上面一条命令一样可以实现同样的效果
awk在其中都是提取前面处理好的数据提取其中的列
df -h | grep "/$" | awk '{print $5}' | sed 's/%//g' --查看根分区的磁盘利用率
cat data.txt | awk '{print $NF}' | sed 's/^/&000: /' --在最后一列的前面加上000:+空格
cat data.txt | awk '{print "000:" $NF} ----在最后一列的前面加上000:,这个是awk自带的方法
2.find命令,主要是用来查询系统下的一些文件或者目录
find . -name "data.txt" --查找当前目录下data.txt的文档
find . -maxdepth 1 -type f -name "*.txt" ---在当前目录的第一级目录下查找名字为后缀是.txt的文件,增加maxdepth的参数
find . -maxdepth 1 -type f -name "*.txt" -mtime +2 --查看2天以前的,以目录范围和时间范围一起限制
find . -maxdepth 1 -type f -name "*.txt" -mtime -1 --查看一天以内的
承接参数exec和承接命令xargs,可以将前面的命令执行的结果当做后面一个命令的操作对象
find . -maxdepth 1 -type f -name "*.txt" -mtime -1 -exec rm -rf {} \; --删除一天以内的在一级目录下某某文件
find . -maxdepth 1 -type f -name "*.txt" -mtime -1 -exec cp {} /tmp/ \; --在cp后面的{}就是代表前面匹配到的文件,拷贝到/tmp/下
xargs 不能承接cp和mv这样的命令,但是可以承接删除命令
find /tmp/ -maxdepth 1 -type f -name "data.txt" -mtime -1 | xargs rm -rf {} \;
find / -maxdepth 1 -size +20M -type f ---找到大于20M的文件,在根目录的一级目录下
find / -maxdepth 2 -size +20M -type f -exec mv {} /tmp/ \; --可以将这些找到的文件移动到临时文件下
以上的命令都可以承接处理,在结合一些语句就可以编写成脚本处理相应的一些数据文档
相关文章推荐
- Linux下sed,awk,grep,cut,find学习笔记
- Linux学习笔记------day9(3.28)-----find中exec的用法,awk赋值
- linux下find命令的学习
- linux 基础命令学习---find, sed
- [Linux学习]文件搜索whereis & locate & find
- 2005-1-14 linux find和xargs命令的学习
- Linux 基础学习 文件查找命令 find 部分用法
- Linux学习随手记(1) find命令的最简单的使用方法
- Vbird的Linux私房菜学习笔记之正则表达式-awk
- linux awk 数组的学习心得
- 【学习点滴-linux】 find命令浅析及应用
- Linux学习---find命令使用技巧
- 轻松学习Linux之AWK使用初步
- Linux 命令find,tar,ps,grep,sed,awk
- SHELL学习之一《Linux文件查找命令find,xargs详述》(转)
- 最近学习的linux命令 grep,awk,cut,uniq,wc 实际应用例子
- linux awk 学习笔记
- Linux命令学习手册-find命令
- linux常用命令学习之find命令
- linux命令学习(6)-find