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. POJ1417 True Liars 并查集 动态规划 (种类并查集)

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - POJ1417 题意概括 有一群人,p1个好人,p2个坏人. 他们说了n句话.(p1+p2<=600,n ...

  2. 6-17 看图写树 uva10562

    非常好的dfs题  有很多细节 关于‘ ’  ‘0’  ’\n‘  的处理  他们都属于isspace函数 其中 while(buf[x+2][i]=='-'&&buf[x+3][i] ...

  3. 【LeetCode】161. One Edit Distance

    Difficulty: Medium  More:[目录]LeetCode Java实现 Description Given two strings S and T, determine if the ...

  4. POJ 3414 Pot (输出路径)【BFS】

    <题目链接> 题目大意: 有两个容量的空杯子,能够对这两个空杯子进行三种操作: 分别是fill(a),装满a杯子: drop(a),倒空a杯子: pour(a,b),将a杯子中的水倒入b杯 ...

  5. CPU个数、CPU核心数、CPU线程数

    CPU个数.CPU核心数.CPU线程数 我们在选购电脑的时候,CPU是一个需要考虑到核心因素,因为它决定了电脑的性能等级.CPU从早期的单核,发展到现在的双核,多核.CPU除了核心数之外,还有线程数之 ...

  6. PLSQL Developer

    1 intall oracle11gex start OracleXEClrAgent start  OracleXETNSListener 2 install C:\Dev Tool\instant ...

  7. C# 使用 iTextSharp 将 PDF 转换成 TXT 文本

    var pdfReader = new PdfReader("xxx.pdf"); StreamWriter output = new StreamWriter(new FileS ...

  8. bzoj 3991: [SDOI2015]寻宝游戏 虚树 set

    目录 题目链接 题解 代码 题目链接 bzoj 3991: [SDOI2015]寻宝游戏 题解 发现每次答案就是把虚树上的路径*2 接在同一关键点上的点的dfs序是相邻的 那么用set动态维护dfs序 ...

  9. codeforces1027F. Session in BSU

    题目链接 codeforces1027F. Session in BSU 题解 二分图匹配就fst了....显然是过去的,不过tle test87估计也pp了,好坑 那么对于上面做匹配的这个二分图分情 ...

  10. [洛谷U40581]树上统计treecnt

    [洛谷U40581]树上统计treecnt 题目大意: 给定一棵\(n(n\le10^5)\)个点的树. 定义\(Tree[l,r]\)表示为了使得\(l\sim r\)号点两两连通,最少需要选择的边 ...