Linux系列之文本操作命令
前言
Linux 有八个常用的文本操作命令:cat、head、tail、nl、grep、sed、more、less。本文介绍它们的区别和简单用法。
cat命令
显示文本的最基本命令。
cat file
cat /usr/share/metasploit-framework/data/wordlists/passwd.lst
cat命令不是最方便的命令,但却十分快捷。
head命令
该命令将显示文件的前10行(默认情况下)。
head filename
如果你想显示指定的行数,请在head命令后使用-来指定。
head -20 passwd.lst
tail命令
该命令与head命令相反,将显示文件的最后10行(默认情况下)。
tail filename
如果你想显示指定的行数,请在tail命令后使用-来指定。
tail -20 passwd.lst
nl命令
显示带有行号的文件。
nl file
如果你用管道输出到它,它使参考变得更容易。
head -35 passwd.lst | nl
grep命令
可能是使用最广泛的文本处理命令。关于这个命令,有好几本书。
cat file | grep keyword
它可以让你过滤显示文件的内容。
cat passwd.list | grep output
结合前面的命令,让我们查看passwd.lst第20至50行中所有含有23的字词。
head -50 passwd.lst | tail -30 | grep 23 | nl
head -50 passwd.lst表示我们想要显示前50行。tail -30表示想要从head命令得到的前50行里的最后30行,也就是20-50行。grep 23将只显示包含23的行。nl将显示行数。
sed命令
这个命令可以让你搜索出现的单词或测试模式,然后对它执行一些操作。类似于Windows中的查找和替换。sed中的命令以单个字母开头。
s是替换命令:
echo "gwyn" | sed 's/gwyn/gps'
让我们使用sed在snort.conf文件中找到mysl的所有实例,并将其替换为MySQL,并将该文件保存为当前目录中的snorttest.conf 。
sed s/searchterm/replacementterm/occurence
这里的g代表全局,意味着替换发生的所有实例。
sed s/mysql/MySQL/g /etc/snort/snort.conf > snorttest.conf
你可以通过在末尾使用/1、/2等来指定你要替换的行的哪一次出现。
我们假设我们有一个textfile.txt文件:
gwyn gps
gwyn gps gps
gwyn gps gps gps
我们如何才能在每一行中只将第二次出现的gps替换为gwyneth?
sed s/gps/gwyneth/2 textfile.txt > sample.txt
现在,如果我们想只在第三行中替换第二个出现的内容,该怎么办?我们可以在s命令的前面加上一个数字来表示。
sed 3s/gps/gwyneth/2 textfile.txt > sample2.txt
让我们看看在snort.conf 中,mysql每次出现的地方:
并将第二行中出现的每一个mysql替换为dogs,并将其保存到sample2.txt。
more命令
每次显示文件的一页,并允许分页。
more file
more snort.conf
less命令
与more命令类似,只不过更加实用。毕竟少即是多。
less file
如果你按下/键,less将允许你在文件中搜索术语。
less snort.conf
在这里,我按下/键,并键入选项:
less带我到第一个发生的地方,按n键是下一个。
总结
就这样吧,我终于开始理解把这些命令连在一起的强大力量了。
Linux系列之文本操作命令的更多相关文章
- [Linux] Linux常用文本操作命令整理
简单的总结一下常用的一些实用的Linux文本操作命令,包括wc(统计).cut(切分).sort(排序).uniq(去重).grep(查找).sed(替换.插入.删除).awk(文本分析). 1.统计 ...
- Linux常用文本操作命令整理
阅读目录 1.统计命令——wc 2.切分命令——cut 3.排序命令——sort 4.去重命令——uniq 5.查找命令——grep 6.替换/查找/删除命令——sed 7.强大的文本分析命令——aw ...
- Linux系列教程(十)——Linux文本编辑器vim
通过前面几篇博客我们终于结束了Linux常用命令的介绍,Linux常用命令主要包括以下: ①.Linux文件和目录处理命令 ②.Linux链接命令和权限管理命令 ③.Linux文件搜索命令 ④.Lin ...
- 跟着鸟哥学Linux系列笔记2-第10章VIM学习
跟着鸟哥学Linux系列笔记0-扫盲之概念 跟着鸟哥学Linux系列笔记0-如何解决问题 跟着鸟哥学Linux系列笔记1 常用的文本编辑器:Emacs, pico, nano, joe, vim VI ...
- 跟着鸟哥学Linux系列笔记1
跟着鸟哥学Linux系列笔记0-扫盲之概念 跟着鸟哥学Linux系列笔记0-如何解决问题 装完linux之后,接下来一步就是进行相关命令的学习了 第五章:首次登录与在线求助man page 1. X ...
- .Neter玩转Linux系列之六:Linux下MySQL的安装、配置、使用
一.Linux安装MySQL (1)下载安装包:https://dev.mysql.com/downloads/mysql/ (2)解压并安装 命令:tar zxvf 文件名 解压完成之后,重名一下文 ...
- Linux系列(17)之系统服务
我们知道,在我们登陆Linux后,系统就为我们提供了很多服务,比如例行工作调度服务crond.打印服务.邮件服务等.那么这些服务是如何被启动的呢? 这个问题先放一下,接下来我们先了解一下Linux的启 ...
- 跟着鸟哥学Linux系列笔记3-第11章BASH学习
跟着鸟哥学Linux系列笔记0-扫盲之概念 跟着鸟哥学Linux系列笔记0-如何解决问题 跟着鸟哥学Linux系列笔记1 跟着鸟哥学Linux系列笔记2-第10章VIM学习 认识与学习bash 1. ...
- 跟着鸟哥学Linux系列笔记0-如何解决问题
跟着鸟哥学Linux系列笔记0-扫盲之概念 在发生问题怎么处理: 1. 在自己的主机.网络数据库上查询How-To或FAQ -Linux 自身的文件数据: /usr/share/doc -CLDP中 ...
随机推荐
- C语言超全学习路线(收藏让你少走弯路)
刚入门是否觉得C语言很难?那可能是你还没找到正确的C语言学习路线,收藏以防找不到,让你少走弯路. 基本语法 选择控制语句 if,swith 循环控制语句 while,for 控制语句相关关键字分析 变 ...
- linux创建磁盘阵例10
Linux创建RAID10 生产环境中用到的服务器一般都配备RAID阵列卡,尽管服务器的价格越来越便宜,但是我们没有必要为了做一个实验而去单独购买一台服务器,而是可以学会使用mdadm命令在Linux ...
- 增删改查- 万能map- 模糊查询
1.编写接口 2.编写对应的mapper种的sql语句 3.测试 接口 public interface UserDao { List<User> getUserList(); //根据I ...
- 记一次百万行WPF项目代码的重构记录
此前带领小组成员主导过一个百万行代码上位机项目的重构工作,分析项目中存在的问题做了些针对性的优化,整个重构工作持续了一年半之久. 主要针对以下问题: 1.产品型号太多导致代码工程的分支太多,维护时会产 ...
- 论文解读《Deep Attention-guided Graph Clustering with Dual Self-supervision》
论文信息 论文标题:Deep Attention-guided Graph Clustering with Dual Self-supervision论文作者:Zhihao Peng, Hui Liu ...
- 用python解决打标签时将xml文件的标签名打错
用python解决打标签时将xml文件的标签名打错 问题描述:再进行达标签时将magnetic_tile的标签名错误的打成了magnetic_title,又不想一张一张的修改 出现问题的xml文件 & ...
- 配置中心Nacos(服务发现)
服务演变之路 单体应用架构 在刚开始的时候,企业的用户量.数据量规模都⽐较⼩,项⽬所有的功能模块都放在⼀个⼯程中编码.编译.打包并且部署在⼀个Tomcat容器中的架构模式就是单体应用架构,这样的架构既 ...
- es的查询、排序查询、分页查询、布尔查询、查询结果过滤、高亮查询、聚合函数、python操作es
今日内容概要 es的查询 Elasticsearch之排序查询 Elasticsearch之分页查询 Elasticsearch之布尔查询 Elasticsearch之查询结果过滤 Elasticse ...
- springboot如何使用自定义配置文件
从前边<springboot竟然有5种默认的加载路径,你未必都知道>我们知道,springboot会默认加载application.properties/application.yml ...
- STC8H开发(十): SPI驱动Nokia5110 LCD(PCD8544)
目录 STC8H开发(一): 在Keil5中配置和使用FwLib_STC8封装库(图文详解) STC8H开发(二): 在Linux VSCode中配置和使用FwLib_STC8封装库(图文详解) ST ...