30天内的文件打包

find ./test_log -type f -mtime -30|xargs tar -cvf test_log.tar.gz

find,文件+超过7天+超过1M的+按日期为文件名压缩

注意: exec没-i, xargs如果有引用需要加上-i

find xargs
-type
-name
-size
-mtime
find /tmp/ -type f -mtime +7 -size +1M|xargs -i tar -zcvf access.log.tar.gz {}
find /tmp/ -type f -mtime +7 -size +1M -exec tar -zcvf access.log.tar.gz {} \; - 文件+超过7天+超过1M的+按日期为文件名压缩
find /tmp/ -type f -mtime +7 -size +1M -exec tar -zcvf access_$(date +%F -d -1day).log.tar.gz {} \;

find+sed批量查找替换

find . -type f -name '*.md'|xargs sed -i 's#maotai#maomao#g'

find删除

find . -type f -name '*.md'|xargs -i rm -f {}

find . -type f -name '*.md' -exec rm -f {} \;
1,-exec
2,-exec没-i
3,-exec后面有 \;

sed和awk的2个绝招

  • sed后向引用
  • awk多分割过滤

过滤ip

- sed实现(后向引用)
ifconfig eth0|sed -n '2p'|sed -n 's#^.*inet ##gp'|sed -n 's# ne.*$##gp'
ifconfig eth0|sed -nr '2s#^.*net (.*) net.*$#\1#gp' - awk实现(多分割)
[root@n1 test]# ifconfig eth0|awk -F '[ ]+' 'NR ==2 {print $3}'
192.168.14.11

过滤文件权限

[root@n1 test]# ll test.md |awk '{print $1}'|tr 'rwx-' '4210'|awk -F '' '{print $2+$3+$4""$5+$6+$7""$8+$9+$10}'
644 - sed实现(后向引用)
[root@n1 test]# stat test.md |sed -nr 's#^.*\(0(.*)\/-.*$#\1#gp'
644 - awk实现(多分割)
[root@n1 test]# stat test.md|awk -F '[(/]' 'NR==4 {print $2}'
0644

过滤/etc/passwd的20-30行

  • 使用强悍的sed
  • 使用awk的条件

sed过滤行

sed -n '10p' /etc/passwd
sed -n '10,20p' /etc/passwd

awk条件过滤行

- 方式1: 通过NR来控制
cat /etc/passwd|awk 'NR>10 && NR <20'
cat /etc/passwd|awk -F ':' 'NR>10 && NR<20 {print $1}'
注:NR在{}外 - 方式2:通过if语句
cat /etc/passwd|awk -F ':' '{if($3>3) print $3}'
注: 这种if在{}里

awk求和

[root@localhost ~]# awk -F ':' '{(s+=$3)}; END {print s}' /etc/passwd
2891

产生随机数

- head截取(不换行)
[root@n1 ~]# echo $RANDOM|md5sum|head -c 10
7f30eab068[root@n1 ~]# - cut截取
[root@n1 ~]# echo $RANDOM|md5sum|cut -c 1-10
efc85e6acd

[svc]find+xargs/sed&sed后向引用+awk多匹配符+过滤行绝招总结&&产生随机数的更多相关文章

  1. [svc]find+xargs/exec重命名文件后缀&文件操作工具小结

    30天内的文件打包 find ./test_log -type f -mtime -30|xargs tar -cvf test_log.tar.gz awk运算-解决企业统计pv/ip问题 find ...

  2. 【shell】sed后向引用替换文本

    要求如下: 原文 <server name="92服" port="10092" os="android" hidden=" ...

  3. [svc]sed&awk过滤行及sed常用例子

    - sed过滤行 sed '2p' sed '2,5p' sed '2p;3p;4p' - awk过滤行 awk 'NR==2' awk 'NR>=2 && NR <=3' ...

  4. 文本替换sed+字段处理cut,join+awk重新编排字段

    [1]sed工具(Stream Editor)--流编辑器 sed 本身也是一个管线(管道)命令,可以分析 standard input 的啦! 而且 sed 还可以将数据进行取代.删除.新增.截取特 ...

  5. python正则表达式--分组、后向引用、前(后)向断言

    无名.有名分组 (1)正则表达式—无名分组 从正则表 达式的左边开始看,看到的第一个左括号“(”表示表示第一个分组,第二个表示第二个分组, 依次类推. 需要注意的是,有一个隐含的全局分组(就是索引号为 ...

  6. maven 发布快照版本后的引用

    使用nexus发布快照版本后, 引用项目问题 必须 <scope>test</scope> 才能引用快照.releases 不受此限制

  7. $python正则表达式系列(4)——分组和后向引用

    分组,即分组匹配,也称为捕获组,是正则中的一种比较重要的匹配方式.此外后向引用和分组相结合,可以写出很多复杂匹配场景的正则. 1. 分组 分组的方法:将子表达式用小括号括起来,如:(exp),表示匹配 ...

  8. python正则表达式(8)--分组、后向引用、前(后)向断言

    无名.有名分组 (1)正则表达式—无名分组 从正则表 达式的左边开始看,看到的第一个左括号“(”表示表示第一个分组,第二个表示第二个分组, 依次类推. 需要注意的是,有一个隐含的全局分组(就是索引号为 ...

  9. 删除datatable的行后,出现“不能通过已删除的行访问该行的信息”的错误,即DeletedRowInaccessibleException

    删除datatable的行后,出现“不能通过已删除的行访问该行的信息”的错误 =========================================================== 采 ...

随机推荐

  1. Floyd-傻子也能看懂的弗洛伊德算法(转)

                暑假,小哼准备去一些城市旅游.有些城市之间有公路,有些城市之间则没有,如下图.为了节省经费以及方便计划旅程,小哼希望在出发之前知道任意两个城市之前的最短路程.          ...

  2. 通过pyqt5实现俄罗斯方块游戏例子

    # *_* coding:utf-8 *_* # 开发团队:中国软件开发团队# 开发人员:Administrator# 开发时间:2019/3/17 2:13# 文件名称:RussiaBoard# 开 ...

  3. QMessageBox的用法

    QMessageBox的用法   先来看一下最熟悉的QMessageBox::information.我们在以前的代码中这样使用过:   QMessageBox::information(NULL,  ...

  4. 最全Python爬虫总结(转载)

    [html] view plain copy 最近总是要爬取一些东西,索性就把Python爬虫的相关内容都总结起来了,自己多动手还是好. (1)普通的内容爬取(2)保存爬取的图片/视频和文件和网页(3 ...

  5. 多线程出现 java.lang.NumberFormatException: multiple points

    多线程下导入数据,发现同一个文件每次导入成功的数据量都不一致,经检查,某些数据偶尔会报错  java.lang.NumberFormatException: multiple points 原因是导入 ...

  6. js数据结构之栈和队列的详细实现方法

    队列 队列中我们主要实现两种: 1. 常规队列 2. 优先队列(实际应用中的排队加急情况等) 常规队列的实现方法如下: // 常规队列 function Queue () { this.queue = ...

  7. Java 复习

    基础: JAVA基础扎实,理解io.多线程.集合等基础框架,对JVM原理有一定的了解: 熟读Java SDK源码: 框架: 对Spring,ibatis,struts等开源框架熟悉:

  8. u3d 地形 U3d terrain

    u3d 地形 U3d terrain 作者:韩梦飞沙 Author:han_meng_fei_sha 邮箱:313134555@qq.com E-mail: 313134555 @qq.com fbx ...

  9. log4j.properties_配置

    参考:http://blog.csdn.net/qq_30175203/article/details/52084127 参考:http://zengxiantao.iteye.com/blog/18 ...

  10. BZOJ1166 : [Baltic2008]Magical Stones

    考虑二分答案,转化为求有多少$\leq lim$的数满足条件. 从两侧往中间进行数位DP,设$f[l][r][j][x][y][z][pre][suf]$表示当前准备填的两个位置是$l$和$r$,已经 ...