文件操作的常用命令 -- grep, cut, sed
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相关推荐
- linux常用命令(grep/cut/sed/which)
文章目录 grep cut sed which grep grep是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来. 所以注意:是打印匹配所在该行!! grep家族包括gre ...
- linux目录命令改目录名,Linux命令详解——文件和目录常用命令-linux修改文件名...
文件和目录常用命令 查看目录内容 ls 切换目录 cd 创建和删除操作 touch rm mkdir 拷贝和移动文件 cp mv 查看文件内容 cat more grep 其他 echo 重定向 &g ...
- java向hdfs提交命令_Java语言操作HDFS常用命令测试代码
本文主要向大家介绍了Java语言操作HDFS常用命令测试代码,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. package com.yxc.hdfs; import org.apac ...
- Linux 文件打包压缩常用命令(笔记,搜录自网络和文档)
Linux 文件打包压缩常用命令 zip 老了一些,但是所有系统都支持(.zip). 格式 zip 压缩后的文件名 要被压缩的文件 参数 参数 -1 压缩 ...
- ssh升级后+sftp+java_java中使用JSCH包,SFTP及SSH2文件操作及远程命令执行(改进)...
我写过一篇java中使用JSCH包,SFTP及SSH2文件操作及远程命令执行,现在想来,觉得调用方式太过于绕,不符合我写程序的风格,所以进行了改进. 参数类,用于配置连接的参数,SshConfigur ...
- Java中使用Jedis连接Redis对Hash进行操作的常用命令
场景 Centos中Redis的下载编译与安装(超详细): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103967334 Re ...
- Java中使用Jedis连接Redis对Set进行操作的常用命令
场景 Centos中Redis的下载编译与安装(超详细): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103967334 Re ...
- Java中使用Jedis连接Redis对List进行操作的常用命令
场景 Centos中Redis的下载编译与安装(超详细): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103967334 Re ...
- Java中使用Jedis连接Redis对String进行操作的常用命令
场景 Centos中Redis的下载编译与安装(超详细): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103967334 Re ...
最新文章
- 光流估计 liteflownet3
- LeetCode - Easy - 155. Min Stack
- 如何感性地理解EM算法?
- T-SQL(SQL Sever) 简单语句实例
- 【DFS + backtrack】LeetCode 37. Sudoku Solver
- 安装mysql查看随机密码命令_deepin安装MySQL没有弹出设置root密码怎么进行修改
- H5+APP安卓原生插件开发+离线打包
- WordPress 速度优化的完整指南
- python计算棋盘放米的故事_在棋盘上64个格子里放大米粒的故事
- Linux嵌入式开发入门(一)——初探嵌入式开发板的基本使用
- Python 实现字节转换函数
- jQuery print 去掉页眉页脚
- css clip-path 画五角星
- 操作系统-添加文件加密系统
- 快递企业玩转微信扫一扫教程
- 关苏哲-洞察问题本质,解决工作难题
- 【课后习题】 线性代数第六版第二章 矩阵及其运算 习题二
- 笔记本一开机就跳出来计算机,电脑开机就自动进入BIOS界面,该怎么解决?
- Polkadot 波卡交易所对接资料收集以及测试/公链部署参考
- php 开源程序_国内PHP开源建站程序一览
热门文章
- .NET Core 2.1的重大缺陷延长了.NET Core 2.0的寿命
- Ubuntu 16.04安装VMware-Workstation-12
- 基于Metronic的Bootstrap开发框架经验总结(2)--列表分页处理和插件JSTree的使用...
- 开发路上踩过的坑要一个个填起来————持续更新······(7月30日)
- linux做单臂路由实现trunk 使vlan之间通信
- 计算掩码、网络地址(最小主机地址,最高主机地址)、广播地址、IP地址范围、主机号...
- int **a[3][4] 和 sizeof(a) 和 int(**)a[3][4]
- utf-7 xss paper
- Linux/Unix环境下的make和makefile详解
- 第三篇 用户和权限