0%

linux文本三剑客+find

2019年12月20日 下午3:09

2019年11月1日 下午4:04

  1. Find:按文件名称进行查找文件
    1. 文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等
    2. 需要记忆的参数:
      1. -name
  2. grep: 按文件内容来查找文件
    1. grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][—help][范本样式][文件或目录…]
    2. 需要记忆的参数:
      1. -i 或 —ignore-case : 忽略字符大小写的差别。
      2. -l 或 —file-with-matches : 列出文件内容符合指定的样式的文件名称。
      3. -L 或 —files-without-match : 列出文件内容不符合指定的样式的文件名称。
      4. -n 或 —line-number : 在显示符合样式的那一行之前,标示出该行的列数编号。
      5. -E 或 —extended-regexp : 将样式为延伸的正则表达式来使用。
      6. -c 或 —count : 计算符合样式的列数。
      7. -w 或 –word-regexp : 只显示全字符合的列
      8. -v 或 —revert-match : 显示不包含匹配文本的所有行。
      9. -r 或 —recursive : 以递归的方式查找符合条件的文件。
  3. sed:更适合编辑 行数据,类似于vim
    1. sed [-hnV][-e<script>][-f<script文件>][文本文件]
    2. 需要记忆的动作:类似于vim
      1. a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
      2. c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
      3. d :删除,因为是删除啊,所以 d 后面通常不接任何咚咚;
      4. i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
      5. p :打印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行~
      6. s :取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s_old_new/g 就是啦!
  4. awk:更适合格式化行数据,类似于sql的的select,可以按行、列、条件进行筛选
    1. awk [option] ‘Pattern{action}’ file
      1. awk ‘{动作}’ 文件名
      2. awk ‘条件 {动作}’ 文件名
    2. 这里所谓的动作我们常用的就是{print}
      1. {}这个大括号里面就是写动作的地方,这里面写的是程序代码,awk中支持if,print等语言语法。这就是awk可以称之为一门语言的原因。
    3. 这里的条件有:
      1. 要查找的文件内容:awk -F ':' '/usr/ {print $1}' demo.txt
      2. 结合变量做条件:awk -F ':' 'NR % 2 == 1 {print $1}’ demo.txt

Find 和cp连用:mac上
xargs on OSX: illegal option – - Unix & Linux Stack Exchange
find ./ -name '*tld*' | xargs -I F cp 'F' ../result_opencv2/tld

2019年11月8日 下午3:12
find 与mv rm 的合用-菜鸟中的菜鸟-51CTO博客

  • 第一种:
    • find ./ -name "tet/“|xargs -I mv {} /tmp/
  • 第二种:
    • mv find /root/ -name “/.tar” /tmp/
  • 第三种:
    • find ./ -name test.tar.gz -exec mv {} /tmp \
  • 注:::一些简单的直接在mv中使用正则就行,不需要使用find::

第0部分:正则

linux下的find文件查找命令与grep文件内容查找命令 - 晨光静默 - 博客园
pattern正则表达式主要参数:
    1. \: 忽略正则表达式中特殊字符的原有含义。
    2. ^:匹配正则表达式的开始行。
    3. $: 匹配正则表达式的结束行。
    4. <:从匹配正则表达 式的行开始。
    5. >:到匹配正则表达式的行结束。
    6. [ ]:单个字符,如[A]即A符合要求 。
    7. [ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。
    8. .:所有的单个字符。
    9. * :有字符,长度可以为0。

第一部分:awk

2019年12月15日 下午10:43
awk 入门教程 - 阮一峰的网络日志

awk | 朱双印博客

  1. awk命令基础 看完
  2. awk分隔符详解看完
  3. awk变量详解
  4. awk格式化能力详解
  5. awk pattern详解-1
  6. awk pattern详解-2
  7. awk 动作详解-1
  8. awk 动作详解-2
  9. awk数组详解
  10. awk内置函数示例

第二部分:sed

Linux sed 命令 | 菜鸟教程看过

第三部分:find + grep

linux下的find文件查找命令与grep文件内容查找命令 - 晨光静默 - 博客园

  1. 区别
    • find是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等。
    • grep是根据文件的内容进行查找,会对文件的每一行按照给定的模式(patter)进行匹配查找。
  2. find三种方式
    1. 按照文件名查找
      • find /etc -name '*srm*' 
      • 使用通配符*(0或者任意多个)。表示在/etc目录下查找文件名中含有字符串‘srm’的文件`
    2. 按照文件特征查找
      • 最后访问时间
      • 大小
    3. 使用混合查找方式查找文件
  3. Grep
    1. 学习连接中的参数就行
    2. Linux grep 命令 | 菜鸟教程看过