shell 之sed grep 小记

sed 命令

用途

提供流编辑器。

语法

sed [ -n ] Script [ File ... ]

sed [ -n ] [ -e Script ] ... [ -f ScriptFile ] ... [ File ... ]

描述

sed 命令根据编辑脚本从指定的 File 参数修改行,并将结果写入标准输出。 sed 命令包含很多功能,用于

选择要修改的行,并只对选择的行作更改。

(2)s/pattern/replacement/flags

用 replacement 字符串代替在模式空间中首次出现的 pattern

(2)y/pattern1/pattern2/

将所有 pattern1 变量中出现的字符代替为相应的 pattern2 字符。在

pattern1 和 pattern2 变量中的字符数必须相等。换行符用 \n 表示。

要执行全局更改,输入:

sed "s/happy/enchanted/g" chap1 >chap1.new

该命令序列用单词 enchanted 代替每个在文件 chap1 中出现的单词 happy。它将已编辑的版本写入名为

chap1.new 的分离文件。s

子命令末尾的 g 字符告诉 sed 命令在每行作尽可能多的替代。如果没有 g 字符,那么 sed 命令就只会代

替行中首次出现的单词 happy。

sed 命令作为过滤器操作。它从标准输入或在命令行命名的文件中(本例中是

chap1)读取文本、修改文本、并将其写入标准输出。不同于大多数的编辑器,它不替换原始文件。在流水

线使用时,这会使 sed 命令成为强大的命令。

sed -n "/food/p" chap3

sed -n 显示文件 chap3 中包含单词 food 的每一行。 通常, sed 命令将编辑过的每行复制到标准输出。 -n 使

sed

命令停止这样做

若显示所有与模式不匹配的行,请输入:

grep -v "^#" pgm.s

这将显示 pgm.s 中首字母不是 #(井字符)的所有行。

若显示文件 file1 中与 abc 或 xyz 字符串匹配的所有行,请输入:

grep -E "abc|xyz" file1

若在名为 test2 的文件中搜索 $(美元符号) ,请输入:

grep \\$ test2

为了强制 shell 将 \$(单反斜杠和美元符号)传递给 grep 命令,必须要使用 \\ (双反斜杠) 。 \ (单反斜杠)

字符可通知 grep

命令将其后的字符(本例中为 $)视作原义字符而不是表达式字符。

VI

:e!重新编辑当前文件并废弃所有更改。

:e + File 从最后开始编辑指定文件。

:e + Number File 从指定行号开始编辑指定文件。

时间: 2024-10-11 12:18:43

shell 之sed grep 小记的相关文章

awk   sed   grep     正则表达式

做事要有耐心. 虚心接受建议,你确实有很多缺点. 就算进步慢,也不可以停止前进的脚步. AWK awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理. awk有三种不同版本: awk   gawk    nawk 1.使用方法 awk '{pattern + action}' {filenames} 其中 pattern 表示 AWK 在数

shell 脚本-sed工具

sed 是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲 区中,称为 "模式空间" (pattern space),接着用 sed命令处理缓冲区中的内容,处理完成后, 把缓冲区的内容送往屏幕.接着处理下一行,这样不断重复,直到文件末尾.文件内容并 没有 改变,除非你使用重定向存储输出. Sed主要用来自动编辑一个或多个文件:简化对文 件的反复操作: 基本使用: 1. /pattern/p :打印匹配pattern的行 使用 p命令需要注意 ,sed 是把待处理

[shell基础]——sed命令

关于sed sed 是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕.接着处理下一行,这样不断重复,直到文件末尾.文件内容并没有 改变,除非你使用重定向存储输出.sed主要用来自动编辑一个或多个文件:简化对文件的反复操作:编写转换程序等. sed详解 sed  [选项]  sed编辑命令  输入文件shell 命令 |  sed  [选项]   s

Linux Shell学习-sed命令详解

(1).sed介绍 Sed是流编辑器,stream editor,它是一个将一些列编辑命令作用于一批文本文件的理想工具. (2).sed工作原理 Sed是一个非交互式文本编辑器,它可以对文本文件和标准输入进行编辑,标准输入可以是来自键盘输入.文件重定向.字符串.变量,甚至来自管道的文本. Sed从文本的一个文本行或标准输入中读取数据,将其复制到缓冲区,然后读取命令行或脚本的第一个命令,对此命令要求的行号进行编辑,重复此过程,直到命令行或脚本中的所有命令都执行完毕. 相对于诸如vi等其他文本编辑器

正则表达式解析 & awk/sed/grep实用实例总结文档

##正则表达式特殊字符解析 "^" 匹配行首 "$" 匹配行尾 "^$" 匹配整行为空,空行 grep -v "^$"    打印非空的行 "."  代表且只能代表任意一个字符 "*" 重复0个或多个前面一个的字符.例如"o*",重复一个或多个o ".*"  匹配所有字符.延伸: "^.*" -->以任意多个字符开头.&q

2015年9月13日和15日【shell、sed&awk 的使用(一)】-JY1506402-19+liuhui880818

目录: 一.shell程序的运行原理 二.shell常用技巧 1.命令历史 2.命令别名 3.命令引用 4.文件名通配 5.常用快捷键 6.补全功能 7.输入输出重定向和管道 8.与用户交互命令 9.脚本的规范建立与执行 10.bash常用选项 11.命令状态结果 持续发现中... 三.常用知识点说明 1.变量 1)变量类型 2)本地变量 3)环境变量 4)特殊变量 2.条件测试 1)整数测试 2)字符串测试 3)文件测试 4)测试表达式 3.条件判断(选择执行) 4.脚本参数(位置参数变量)

adb shell 命令返回'grep' 不是内部或外部命令,也不是可运行的程序

C:\Users\Vicky>adb shell dumpsys window windows | grep mCurrent'grep' 不是内部或外部命令,也不是可运行的程序或批处理文件. 解决方法:在adb shell 后面的内容加上双引号就不会报错啦 C:\Users\Vicky>adb shell "dumpsys window windows|grep mCurrent" mCurrentFocus=Window{cd554b4 u0 com.alibaba.a

Shell正则表达式之grep、sed、awk实操笔记

最近一直在研究shell脚本这块,刚好闲下来整了下自己手头上比较好的资料中的一些范例,以下是我整理的鸟哥私房菜里面正则表达式里面比较基础的一些语法详解,适合新手查阅. 首先先复制一段范例: 复制代码 代码如下: # vi regular_express.txt ------------------------------- "Open Source" is a good mechanism to develop programs. apple is my favorite food.

Shell脚本三剑客——Grep(进阶版egrep)、Sed、Awk命令

Grep命令 1.基本正则表达式实例--查找特定字符 这里我们就以存放本机所有用户的/etc/passwd文件做实例 Demo1 [[email protected] ~]# grep -n "root" /etc/passwd //-n表示显示行号 1:root:x:0:0:root:/root:/bin/bash 10:operator:x:11:0:operator:/root:/sbin/nologin 2.基本正则表达式实例--查找集合字符 有重复的字符时,可使用"