grep 命令大家都很常用,不过,我们一般的操作是利用这个命令对 stdin 的内容进行操作,这篇文章介绍的内容是对文件进行操作。

      grep "fing anything" . -R -n

      上面这条命令的意思是:

                                            find anything :是需要查找的内容,如果存在,显示这一行,不存在显示为空

                                            . :代表的是当前目录,当然,你也可以定义自己的查找目录

                                            -R:这个代表的是在目录里递归搜索

                                            -n:这个意思是显示行号,即显示对应的那行的行号

       好吧,我们来做个实验,文件的内容就不在这里列出来,相信,如果你懂这个命令,看到显示的内容就应该知道是什么意思:


      cut 命令能够对输入进行列的操作,默认的分割符是制表符,我们可以利用 -d 选项定义自己的分割符。-f 选项代表的是取得第几列,当需要选择多个列时,用逗号分开即可,我们利用上面的输出取得文件名和第几行:



      下面介绍一个非常重要的命令 sed 

      这个命令的意思是:流编辑器,我们通常用这个命令对文件的内容进行替换,它需要有一个输入文件,如果我们希望文件的内容被保存,那么我们需要加上 -i 选项,我们来看看这个命令的使用方法。

      首先,我列出需要操作的文件 fork_.c:

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <time.h>int main(int argc, char **argv)
{if (fork() == 0){sleep(5);/*this is orphan*/printf("This is child!\n");exit(0);            }else{printf("This is parent!\n");exit(0);    }return 0;
}

操作1:sed 's/sleep(5)/sleep(8)/' fork_.c

它代表的意思是用 sleep(8) 替换 sleep(5) ,命令执行效果如下图所示:



操作2:sed 's/This/oooo/g' fork_.c

这个命令和上面的那条命令很像,只是多了一个字母 g ,这个字母的意思是全局替换,上面的不带 g 的命令意思是替换第一处,好吧,验证一下吧:



      这里的 -i 选项我就不做实验了,有兴趣的朋友可以自己试下。

      我们还可以利用sed来删除一些我们不需要的行,利用 d 参数:sed '/This/d' fork_.c


文件操作的常用命令 -- grep, cut, sed相关推荐

  1. linux常用命令(grep/cut/sed/which)

    文章目录 grep cut sed which grep grep是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来. 所以注意:是打印匹配所在该行!! grep家族包括gre ...

  2. linux目录命令改目录名,Linux命令详解——文件和目录常用命令-linux修改文件名...

    文件和目录常用命令 查看目录内容 ls 切换目录 cd 创建和删除操作 touch rm mkdir 拷贝和移动文件 cp mv 查看文件内容 cat more grep 其他 echo 重定向 &g ...

  3. java向hdfs提交命令_Java语言操作HDFS常用命令测试代码

    本文主要向大家介绍了Java语言操作HDFS常用命令测试代码,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. package com.yxc.hdfs; import org.apac ...

  4. Linux 文件打包压缩常用命令(笔记,搜录自网络和文档)

    Linux 文件打包压缩常用命令 zip 老了一些,但是所有系统都支持(.zip). 格式   zip 压缩后的文件名 要被压缩的文件 参数 参数   -1                    压缩 ...

  5. ssh升级后+sftp+java_java中使用JSCH包,SFTP及SSH2文件操作及远程命令执行(改进)...

    我写过一篇java中使用JSCH包,SFTP及SSH2文件操作及远程命令执行,现在想来,觉得调用方式太过于绕,不符合我写程序的风格,所以进行了改进. 参数类,用于配置连接的参数,SshConfigur ...

  6. Java中使用Jedis连接Redis对Hash进行操作的常用命令

    场景 Centos中Redis的下载编译与安装(超详细): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103967334 Re ...

  7. Java中使用Jedis连接Redis对Set进行操作的常用命令

    场景 Centos中Redis的下载编译与安装(超详细): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103967334 Re ...

  8. Java中使用Jedis连接Redis对List进行操作的常用命令

    场景 Centos中Redis的下载编译与安装(超详细): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103967334 Re ...

  9. Java中使用Jedis连接Redis对String进行操作的常用命令

    场景 Centos中Redis的下载编译与安装(超详细): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103967334 Re ...

最新文章

  1. 光流估计 liteflownet3
  2. LeetCode - Easy - 155. Min Stack
  3. 如何感性地理解EM算法?
  4. T-SQL(SQL Sever) 简单语句实例
  5. 【DFS + backtrack】LeetCode 37. Sudoku Solver
  6. 安装mysql查看随机密码命令_deepin安装MySQL没有弹出设置root密码怎么进行修改
  7. H5+APP安卓原生插件开发+离线打包
  8. WordPress 速度优化的完整指南
  9. python计算棋盘放米的故事_在棋盘上64个格子里放大米粒的故事
  10. Linux嵌入式开发入门(一)——初探嵌入式开发板的基本使用
  11. Python 实现字节转换函数
  12. jQuery print 去掉页眉页脚
  13. css clip-path 画五角星
  14. 操作系统-添加文件加密系统
  15. 快递企业玩转微信扫一扫教程
  16. 关苏哲-洞察问题本质,解决工作难题
  17. 【课后习题】 线性代数第六版第二章 矩阵及其运算 习题二
  18. 笔记本一开机就跳出来计算机,电脑开机就自动进入BIOS界面,该怎么解决?
  19. Polkadot 波卡交易所对接资料收集以及测试/公链部署参考
  20. php 开源程序_国内PHP开源建站程序一览

热门文章

  1. .NET Core 2.1的重大缺陷延长了.NET Core 2.0的寿命
  2. Ubuntu 16.04安装VMware-Workstation-12
  3. 基于Metronic的Bootstrap开发框架经验总结(2)--列表分页处理和插件JSTree的使用...
  4. 开发路上踩过的坑要一个个填起来————持续更新······(7月30日)
  5. linux做单臂路由实现trunk 使vlan之间通信
  6. 计算掩码、网络地址(最小主机地址,最高主机地址)、广播地址、IP地址范围、主机号...
  7. int **a[3][4] 和 sizeof(a) 和 int(**)a[3][4]
  8. utf-7 xss paper
  9. Linux/Unix环境下的make和makefile详解
  10. 第三篇 用户和权限