Linux文件处理工具及命令

Linux文件处理命令

文件处理部分介绍了查找、统计、替换等基本文本操作命令

文件处理命令

  • 文件查找:find
  • 文本搜索:grep
  • 排序:sort
  • 转换:tr
  • 按列切分文本:cut
  • 按列拼接文本:paste
  • 统计行和字符:wc
  • 文本替换:sed
  • 数据流处理:awk

文件处理

Everything is file in Linux. 在Linux环境下,一切皆文件,对文本处理相当频繁,所以有些命令的参数还是需要记忆的。另外其他很多命令的输出信息都需要通过文件处理命令来筛选有用信息。

1.文件查找:find
  • 按名查找:

    • 1.查找具体文件(一般方式)
    find . -name *.cpp
    
    • 2.查找具体文件(正则方式)
    # -regex为正则查找,-iregex为忽略大小写的正则查找
    
    find -regex ".*.cpp$"
    
  • 定制查找:

    • 1.按类型查找
    # f(file)为文件,d(dictionary)为目录,l(link)为链接
    
    find . -type f
    
    • 2.按时间查找
    # atime为访问时间,x天内加参数"-atime -x",超过x天加"-atime -x"
    # mtime为修改时间
    
    find . -type f -atime -7
    
    • 3.按大小查找
    # -size后接文件大小,单位可以为k(kb),m(MB),g(GB)
    
    find . -type f -size -1k
    
    • 4.按权限查询
    # -perm后接权限
    
    find . -type -perm 644
    

2. 文本搜索:grep
  • 模式匹配

    # 匹配test.cpp文件中含有"iostream"串的内容
    
    grep "iostream" test.cpp 
    
  • 多个模式匹配

    # 匹配test.cpp文件中含有"iostream"和"using"串的内容
    
    grep -e "using" -e "iostream" test.cpp 
    
  • 输出信息

    # -n为打印匹配的行号;-i搜索时忽略大小写;-c统计包含文本次数
    
    grep -n "iostream" test.cpp 
    

3. 排序:sort
  • 文件内容行排序
    # 排序在内存进行,不改变文件
    # -n(number)表示按数字排序,-d(dictionary)表示按字典序
    # -k N表示按各行第N列进行排序
    # -r(reverse)为逆序排序
    
    sort -n -k 1 test
    

4. 转换:tr
  • 字符替换

    # 转换在内存进行,不改变文件
    # 将打开文件中所有目标字符替换
    
    cat test | tr '1' '2'
    
  • 字符删除

    # 转换在内存进行,不改变文件
    # -d删除(delete)
    
    cat test | tr -d '1'
    
  • 字符压缩

    # 转换在内存进行,不改变文件
    # -s位于后部
    
    cat test | tr ' ' -s
    

5. 按列切分文本:cut
  • 截取特定列

    # 截取的内存进行,不改变文件
    # -b(byte)以字节为单位,-c(character)以字符为单位,-f以字段为单位
    # 数字为具体列范围
    
    cut -f 1,2 test
    
  • 指定界定符

    # 截取的内存进行,不改变文件
    # -d后接界定符
    
    cut -f 2 -d ',' new
    

6. 按列拼接文本:paste
  • 按列拼接
    # 在内存中拼接,不改变文件
    # 将两个文件按对应列拼接
    # 最后加上-d "x"会将x作为指定分隔符(paste test1 test2 -d ",")
    # 两文件列数可以不同
    
    paste test1 test2
    
  • 指定界定符拼接
    # 在内存中拼接,不改变文件
    # 按照-d之后给出的界定符拼接
    
    paste test1 test2 -d ","
    

7. 统计行和字符:wc
  • 基本统计
    # -l统计行数(line),-w统计单词数(word),-c统计字符数(character)
    
    wc -l test
    

8. 文本替换:sed
  • 区别于上面的命令,sed是可以直接改变被编辑文件内容的。
  • 详见

9. 数据流处理:awk
  • 区别于上面的命令,awk是可以直接改变被编辑文件内容的。
  • 详见


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值