都说Linux很重要,你会几个Linux命令?来看看这道面试题目。
时间:2022-07-23
本文章向大家介绍都说Linux很重要,你会几个Linux命令?来看看这道面试题目。,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
作者丨五角钱的程序员 图丨pexels
今天继续讲解美团java一面面试题目,Linux怎么搜索文件中的字符串,并把这个字符串所在行和下面一行的内容写到另外一个文件中?多了解Linux操作系统基本的命令,以及运行相关等是程序员的基本功。
搜索文件中的字符串
如果你想在当前目录下 查找"chenyuan"字符串,可以这样:
[hadoop@hadoop101 opt]$ grep -rn "chenyuan" *
* : 表示当前目录所有文件,也可以是某个文件名
-r 是递归查找
-n 是显示行号
-R 查找所有文件包含子目录
-i 忽略大小写
下面是一些有意思的命令行参数:
grep -i pattern files :不区分大小写地搜索。默认情况区分大小写,
grep -l pattern files :只列出匹配的文件名,
grep -L pattern files :列出不匹配的文件名,
grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配'magic',而不是'magical'),
grep -C number pattern files :匹配的上下文分别显示[number]行,
grep pattern1 | pattern2 files :显示匹配 pattern1 或 pattern2 的行,
grep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配 pattern2 的行。
这里还有些用于搜索的特殊符号:
创建三个文件:
[hadoop@hadoop101 opt]$ sudo touch xl.txt
[hadoop@hadoop101 opt]$ sudo chown hadoop:hadoop ll.txt
写入:chenyuan
接下来按照相同的办法创建:ll.txt,lll.txt.分别写入:yuanic,yuan。
< 和 > 分别标注单词的开始与结尾。
例如:
grep yuan* 会匹配 ‘chenyuan’、‘yuanic’、‘yuan’等,
grep '<yuan' * 匹配‘yuanic’和‘yuan’,但不是‘chenyuan’,
grep '<yuan>' 只匹配‘yuan’,而不是‘chenyuan’或‘yuanic’等其他的字符串。
'^':指匹配的字符串在行首,
'$':指匹配的字符串在行尾,
[hadoop@hadoop101 opt]$ grep -rn yuan *
[hadoop@hadoop101 opt]$ grep -rn '<yuan' *
[hadoop@hadoop101 opt]$ grep -rn '<yuan>'
写到另一个文件中
修改xl.txt
[hadoop@hadoop101 opt]$ vi xl.txt
chenyuan
xl
lala
清空ll.txt
[hadoop@hadoop101 opt]$ grep -i "chenyuan" -A 1 xl.txt | grep -v -e "--" >ll.txt
[hadoop@hadoop101 opt]$ cat ll.txt
chenyuan
xl
grep 指令用于查找内容bai包du含指定的范本样式的文件,如果zhi发现某文件的内容符合所指定的范本样式,预设grep指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为“-”,则grep指令会从标准输入设备读取数据。
END
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 第38期:BST 的搜索(小白必看)
- 第39期:小白一看就会的 BST 删除!
- 基于OpenCV的区域分割、轮廓检测和阈值处理
- 基于OpenCV的实用图像处理操作
- LDAP 中 DN CN DC OU
- Spring Boot入门系列(十九)集成mybatis
- 当我们做后仿时我们究竟在仿些什么(四)
- Scala学习一
- kafka学习二 -发送消息
- 【ACL2020】使用问题图生成解决multi-hop复杂KBQA
- R语言实现DNA结构预测
- Vue 基础入门
- Chrome DevTools 一些隐藏技巧
- Leetcode 1160. 拼写单词 (Hash)
- CodeForces 23B (图论 思维)