一、find查找命令的使用

1、find . -name "*.txt"

在当前目录下,查找以txt结尾的文件

2、find . -name "[a-z]"

在当前目录下,查找所有以小写字母开头的文件

3、find /etc -name "host*"

在etc目录下,查找以host开头的文件

4、find . -perm 755

在当前目录下,查找属性为755的文件

5、find . -user root

在当前目录下,查找属主为root的文件

6、find . -mtime -5

在当前目录下,查找更改时间在5天之内的文件

7、find . -mtime +3

在当前目录下,查找更改时间在3天之前的文件

8、find . -type d

在当前目录下,查找类型为d的目录

9、find . -type l

在当前目录下,查找类型为l的文件

10、find . -size +1000000c

在当前目录下,查找文件大小在1M以上的文件

11、find . -prem 755 | xargs chmod 770

在当前目录下,找到文件属性为755的,然后将其权限设为770

12、find . -type f | xargs ls -l

在当前目录下,查找出所有的文件,并且显示详细信息

二、正则表达式

1、^linux

以linux开头的行

2、$php

以php结尾的行

3、.

匹配任意个字符

4、.+

匹配任意多个字符

5、.*

匹配0个或多个字符

6、[0-9a-z]

匹配[]里的任意一个字符

7、(linux)+

匹配出现多次linux单词的行

8、(linux){2}

匹配出现2次以上linux单词的行

9、\

只用来屏蔽一个元字符的特殊含义

三、grep搜索命令

1、grep "qq" *

在所有文件中查找含有qq的文件

2、grep -c "file" a

在a文件里查找有多少行匹配到file

3、grep -n "file" a

在a文件里有多少行匹配匹配到file,显示行号和内容

4、grep -i "file" a

在a文件中查找file,并不区分大小写

5、grep -v "file" a

在a文件里查找除了file的行

6、grep -E "2004:22:5[0-9]" a

在a文件中,查找2004:22:50-2004:22:59之间的行

7、grep -E "^[^210]"

在a文件里查找不是以1,2,0开头的行

8、grep -E "h*q" a

在a文件中查找0个或多个h和q的行

9、grep -E "[5-8][6-9][3-0]" a

在a文件中查找大于563,小于890的行

10、grep -E "4{2}" a

在a文件中查找包含两个4的行

11、grep -E "4{2,4}" a

在a文件中查找包含大于等于2,小于等于4的行

12、grep -E "4{2,}" a

在a文件中查找包含两个以上4的行

13、grep -E "^$" a

在a文件中查找空白行

14、grep "?" a

在a文件在查找包含?的行

15、grep -E "^d" a

在a文件中查找以d开头的行

16、grep -E "^[^d]" a

在a文件中查找不是以d开头的行

四、awk编程使用

1、awk "{print $0}" file

列出file文件的每一列

2、awk '{print $1 "\t" $2}' file

列出file文件的第一列和第二列

3、cat file | awk '$0!~/192.168.10.2/' | grep "php" |wc -l

~表示匹配到192.168.10.2的ip地址的统计,!~表示不匹配

五、sed行定位的使用

1、sed -n '2'p file

只打印第二行,不打印其他行

2、sed -n '1,4'p file

打印从第一行到第四行

3、sed -n '/los/'p file

打印匹配到los的行

4、sed -n '4,/los/'p file

打印从第四行到匹配到los的所有行

5、sed '1,2'd file

打印除了第一行和第二行

六、uniq唯一性的使用

1、uniq -c file

打印紧挨着的重复行的次数

2、uniq -d file

只打印重复行

七、sort排序使用

1、sort file

把文件里的内容按照字母的升序排序

2、sort -r file

把文件里的内容按照字母的降序排序

3、cat file|sort -t: -k1 -r

以:分割后的第一列降序排序

八、split文件分割的使用

1、split -2 file spt

生成sptaa sptab等多个文件

把file文件每两行分割为一个文件,文件名的前缀为spt

shell文本操作的更多相关文章

  1. Shell文本操作-5

  2. Shell命令之文本操作

    前言 在Linux中,文本处理操作是最常见的,应用非常广泛,如果能熟练掌握,可以大大提高开发效率. awk/sed/grep是文本操作领域的“三剑客”,学会了这3个命令就可以应对绝大多数文本处理场景. ...

  3. linux下的文本操作之 文本查找——grep

    摘要:你有没有这样的应用场景:调试一个程序,出现debug的提示信息,现在你需要定位是哪个文件包含了这个debug信息,也就是说,你需要在一个目录下的多个文件(可能包含子目录)中查找某个字符串的位置: ...

  4. shell文本处理工具总结

    shell文本处理工具总结 为了效率,应该熟练的掌握自动化处理相关的知识和技能,能力就表现在做同样的一件事情,可以做的很好的同时,耗时还很短. 再次总结shell文本处理的相关规则,对提高软件调试效率 ...

  5. Linux Bash文本操作之sed篇其二

    上一篇总结了sed的基础应用(Linux Bash文本操作之sed篇其一),内容实在有够多,这里再对稍微高级一些的用法做一个整理,以方便使用时查阅. 查看文本内容 示例1表示在第一到第四行匹配到的行后 ...

  6. Linux实验:hdfs shell基本命令操作(一)

    [实验目的] 1)熟练hdfs shell命令操作 2)理解hdfs shell和linux shell命令 [实验原理] 安装好hadoop环境之后,可以执行hdfs shell命令对hdfs 的空 ...

  7. Linux命令-文件文本操作grep

    文件文本操作 grep 在文件中查找符合正则表达式条件的文本行 cut 截取文件中的特定字段 paste 附加字段 tr 字符转换或压缩 sort 调整文本行的顺序,使其符合特定准则 uniq 找出重 ...

  8. linux文本操作界面 vi面板如何复制一行

    linux文本操作界面 vi面板如何复制一行 1)把光标移动到要复制的行上2)按yy3)把光标移动到要复制的位置4)按p 在vi里如何复制一行中间的几个字符?如果你要从光标处开始复制 4 个字符,则先 ...

  9. shell脚本操作mysql数据库

    shell脚本操作mysql数据库,使用mysql的-e参数可以执行各种sql的(创建,删除,增,删,改.查)等各种操作 mysql  -hhostname -Pport -uusername -pp ...

随机推荐

  1. 如何在WS系统的DOS命令台打印JAVA_HOME变量

    echo %JAVA_HOME% 查看环境变量 path 新增临时环境变量 path D:\test;%path% 注意是反斜杆 cls 清空 F7 显示历史CMD指令

  2. PHP中define()和dirname(__FILE__)

    1,define() 函数定义一个常量.常量类似变量,不同之处在于: (1)在设定以后,常量的值无法更改 (2)常量名不需要开头的美元符号 ($) (3)作用域不影响对常量的访问 (4)常量值只能是字 ...

  3. 磁盘IO的概念

    转载自:http://blog.csdn.net/letterwuyu/article/details/53542291 在数据库优化和存储规划过程中,总会提到IO的一些重要概念,在这里就详细记录一下 ...

  4. 如何实现三个div都自适应(滴滴面试题)

    <div class="table"> <div class="accordant"> <div class="box& ...

  5. [转] FFmpeg常用基本命令

    [FFmpeg]FFmpeg常用基本命令 1.分离视频音频流 ffmpeg -i input_file -vcodec copy -an output_file_video //分离视频流 ffmpe ...

  6. php 内存分配新

    https://yq.aliyun.com/articles/38307 https://yq.aliyun.com/ziliao/132720 http://blog.liyiwei.cn/%E3% ...

  7. web站点启用https (一)

    HTTPS技术是现在主流网站都采用的安全加密传输数据的技术,本篇文档将分为2部分讲解PKI的基本原理及在web站点配置https访问. 一.理论知识 1.PKI(public key infrastr ...

  8. *args and **kwargs

    首先要知道, 并不是必须写成*args 和**kwargs. 只有变量前面的 *(星号)才是必须的. 你也可以写成*var 和**vars. 而写成*args 和**kwargs只是一个通俗的命名约定 ...

  9. 微信小程序授权流程(图)

    看图: 1. 前端H5调用JSSKD的方法  wx.login(), 2. 微信返回 临时登录凭证code 给前端H5 3. 将此Code给到开发者服务器 4. 服务器混同小程序的AppId 和 Ap ...

  10. 1、 小白带你入坑xamarin系列之环境搭建和准备

    重点提示 由于xamarin发展更新很快 目前教程部分内容已经过时 请注意下载最新版本   2018.05.23 www.xamarin.com 1. 小白带你入坑xamarin系列之环境搭建和准备 ...