-
Notifications
You must be signed in to change notification settings - Fork 20
LinuxStreamEditor
kcp edited this page Nov 21, 2020
·
3 revisions
目录 start
目录 end|2020-11-05 16:05|
转换字符
- 替换:可以使用字符集的形式如tr
[a-z][A-Z]或者 tr a-z A-Z - 压缩:-s 如
echo “you are a man ” | tr -s ' ' ' '结果you are a man - 删除:-d 如
echo "you are a man"| tr -d ' '结果youareaman
man cut
粘贴,合并文件用
使用制表符来合并多个文件对应的行,也可以使用 -d 指定合并符
实例: 默认制表符 paste p3.txt p2.txt p1.txt
指定 paste -d ‘*‘ p3.txt p2.txt p1.txt
使用方式:
操作类型 命令 文件| sed --help 查看详细
-
操作类型-
-nsuppress automatic printing of pattern space -
-e只在控制台输出的操作的结果内容(全部),源文件不变 -
-i直接在源文件中进行修改 -
-f file执行一个 sed 脚本文件中的指令
-
-
命令
| 命令 | 效果 |
|---|---|
| b | label 将执行的指令跳至由 : 建立的参考位置 |
| d | 删除行 删除2-4行 sed -i "2,4d" file
|
| D | 删除 pattern space 内第一个 newline 字母 前的资料 |
| g | 拷贝资料从 hold space |
| G | 添加资料从 hold space 至 pattern space |
| h | 拷贝资料从 pattern space 至 hold space |
| H | 添加资料从 pattern space 至 hold space |
| l | 印出 l 资料中的 nonprinting character 用 ASCII 码 |
| a | 新增 在下一 |
| i | 插入添加使用者输入的行 将hello插入到第4行:sed -in "4i hello" test.md
|
| n | 读入下一笔资料 |
| N | 添加下一笔资料到 pattern space |
| p | 打印 sed -n 1p file
|
| P | 印出 pattern space 内第一个 newline 字母 前的资料 |
| q | 跳出 sed 编辑 |
| r | 读入它档内容 |
| w | 写资料到它档内 |
| x | 交换 hold space 与 pattern space 内容 |
| y | 转换(transform)字元 |
- c 替换 整行
- s 替换 行内字符串的替换 命令结构:
's/pattern/relacement/flags'- pattern 是正则的 pattern 写法 注意会匹配到首尾的空字符
echo abc | sed 's/a*/l/g'就很费解 - replacement 是需要替换成的内容
- flags 是动作(可以为空)
- 整数: 一行中的第几处符合 pattern 将被替换
- g : 全部替换
- p : 输出修改的行内容
- w filename : 替换后的文件写入到新文件
- pattern 是正则的 pattern 写法 注意会匹配到首尾的空字符
- 截取指定行数到新文件
sed -n ‘开始行数,结束行数p’ info.log > newFile.log
- 修改配置文件中name的值为123
sed -i "s/name=.*/name=123/g" config.conf- 修改第3行
sed -i '3 s/name/1/g'- 匹配行的行尾追加
sed 's/end.*/& ;/g' file- 匹配行后第三行行尾追加
sed '/gradle/{n;n;n; s/.*/& 6.0/;}' file
- CRLF -> LF
sed -i 's/\r//g' file
> 配合git:git ls-files| xargs sed -i 's/\r//g'- 注意特殊字符的转义
git ls-files | xargs sed -i 's/@a.*/\//g'
- 去除换行符
sed ':label;N;s/\n/ /;b label'参考- 文件内容倒置
sed '1!G;h;$!d' filename
sokoban sed
sed 写的推箱子游戏
- 参考:sed 查找与替换
-
sed 正则的精确控制
-
echo Tolstoy is worldly | sed 's/T.*y/Camus/'这里的pattern就有问题, 会把整行替换掉 -
echo Tolstoy is worldly | sed 's/T[a-z]*y/Camus/'只把第一个单词替换
-
处理管道流
echo syx is a good body | sed 's/syx/zsf/'
多个指令sed 's/a//g;s/b//g'
awk有多个不同版本: awk、mawk nawk和gawk,若未作特别说明,通常指gawk (gawk 是 AWK 的 GNU 版本)
- 输出指定列
cat log.log | awk '{print $2}'- 忽略第一列:
awk '{$1="";print $0}' - 忽略1到4:
awk '{ for(i=1; i<=4; i++){ $i="" }; print $0 }'
- 忽略第一列:
- 按列求和
awk '{sum += $1};END {print sum}' - 添加行号
awk '{printf("%2d %s\n", NR, $0); - 读取标准输出
awk '{print $0}' -
-
【 Algorithm 】
-
【 Blog 】
-
【 C 】
-
【 Database 】
-
【 Distributed 】
-
【 FrontEnd 】
- 【 FrontEnd/Frame 】
- 【 FrontEnd/Node 】
- Font
- Hexo
- JavaScript
- LearnPS
- ResponseCode
- SVG
- ViewSolution
- extjs学习笔记
-
【 Functional 】
-
【 Go 】
-
【 Groovy 】
-
【 Java 】
- 【 Java/AdvancedLearning 】
- 【 JavaBasic 】
- 【 JavaCache 】
- 【 JavaCollection 】
- 【 JavaConcurrency 】
- 【 JavaMap 】
- Annotation
- ClassFile
- Collection
- Concurrency
- Deploy
- Exception
- ExtendsAndInterface
- Generics
- IO
- JDBC
- JDKAndJRE
- JMX
- JVM
- Java11
- Java7
- Java8
- JavaNetwork
- JavaReleaseVersion
- JavaWeb
- JvmPerformance
- MQ
- MultipleLanguage
- Proxy
- Reflection
- Serialize
- SyntaxAndType
- Thread
- WebPerformance
- 【 Java/Android 】
- 【 Java/Ecosystem 】
- 【 Java/MSA 】
- 【 Java/Spring 】
- 【 Java/TemplateEngine 】
- 【 Java/Test 】
- 【 Java/Tool 】
- 【 Java/thread 】
- AlibabaJavaStandard
- DesignPattern
- HashMap解析
- Java-NIO
- Java虚拟机
- Log
- MIS
- Quartz
- RESTful
- WebSocket学习笔记
- ZooKeeper学习笔记
- android学习笔记
- 【 Java/AdvancedLearning 】
-
【 Kotlin 】
-
【 Linux 】
- 【 Linux/Alpine 】
- 【 Linux/Arch 】
- 【 Linux/Base 】
- 【 Linux/Centos 】
- 【 Linux/Container 】
- 【 Linux/Debian 】
- 【 Linux/Tool 】
- JavaDevInit
- Linux系统学习
-
【 MyBlog 】
-
【 Python 】
- 【 Python/Tool 】
- Python
- PythonConcurrent
- PythonGUI
- PythonGame
- PythonNet
- PythonOffices
- PythonWeb
- Python基础
- Python核心学习
-
【 Reactive 】
-
【 Rust 】
-
【 Scala 】
-
【 Script 】
-
【 Skills 】
- 【 Skills/Application 】
- 【 Skills/CS 】
- 【 Skills/Cache 】
- 【 Skills/Councurrency 】
- 【 Skills/DevOps 】
- 【 Skills/Document 】
- 【 Skills/Ecology 】
- 【 Skills/Network 】
- 【 Skills/Search 】
- 【 Skills/SoftwareEngineering 】
- 【 Skills/Spider 】
- 【 Skills/Test 】
- 【 Skills/Vcs 】
- 【 Skills/Work 】
- AppManual
- CelebrityQuotes
- Miscellaneous
- Platform
- Problem
- Protobuf
- RegularExpression
- SoftwareDesignEngineer
- Website
-
【 Windows 】