sed-内容按行匹配

匹配文件中的指定行

mustbear@/c/demo>cat test.txt
first line
second line
third line
mustbear@/c/demo>sed -n '2p' test.txt #输出第2行
second line
mustbear@/c/demo>sed -n '2,3p' test.txt #输出第2-3行
second line
third line

行内容替换

mustbear@/c/demo>cat test.txt
first line
second line
third line
hello,world|
mustbear@/c/demo>sed 's/\,/ /g' test.txt #逗号替换成空格
first line
second line
third line
hello world|
mustbear@/c/demo>sed 's/\,/ /g' test.txt | sed 's/|//g' #逗号替换成空格,竖线替换为空
first line
second line
third line
hello world

tree-查看文件目录结构利器

$ ls #已有前端目录结构如下

node_modules/  out/  package.json  public/  README.md  src/  uml/  yarn.lock

$ tree -I 'node_modules' #排除node_modules目录,查看目录和文件

.
|-- README.md
|-- out
|   `-- uml
|       `-- test
|           `-- test.png
|-- package.json
|-- public
|   |-- favicon.ico
|   |-- index.html
|   |-- logo192.png
|   |-- logo512.png
|   |-- manifest.json
|   `-- robots.txt
|-- src
|   |-- App.css
|   |-- App.js
|   |-- App.test.js
|   |-- index.css
|   |-- index.js
|   |-- logo.svg
|   |-- serviceWorker.js
|   `-- setupTests.js
|-- uml
|   |-- test.png
|   |-- test.puml
|   `-- testdot.puml
`-- yarn.lock

6 directories, 21 files

$ tree -I 'node_modules' -d #排除node_modules只查看目录

.
|-- out
|   `-- uml
|       `-- test
|-- public
|-- src
`-- uml

6 directories

$ tree -I 'node_modules' -d -L 2 #排除node_modules,查看两层目录

.
|-- out
|   `-- uml
|-- public
|-- src
`-- uml

5 directories
参考
(1)tree  -a 显示所有文件和目录(不加-a,则隐藏目录不显示)
(2)tree -d 显示目录名称而非内容
(3)tree -f 在每个文件或目录之前,显示完整的相对路径名称
(4)tree -F 在执行文件,目录,Socket,符号连接,管道名称名称,各自加上"*","/","=","@","|"号。
(5)tree -r 以相反次序排列
(6)tree -t 用文件和目录的更改时间排序
(7)tree -L n 只显示 n 层目录 (n 为数字)
(8)tree -dirsfirst 目录显示在前,文件显示在后
(9)可以加的参数
-A 使用ASNI绘图字符显示树状图而非以ASCII字符组合。
-C 在文件和目录清单加上色彩,便于区分各种类型。
-D 列出文件或目录的更改时间。
-g 列出文件或目录的所属群组名称,没有对应的名称时,则显示群组识别码。
-i 不以阶梯状列出文件或目录名称。
-I 不显示符合范本样式的文件或目录名称。
-l 如遇到性质为符号连接的目录,直接列出该连接所指向的原始目录。
-n 不在文件和目录清单加上色彩。
-N 直接列出文件和目录名称,包括控制字符。
-p 列出权限标示。
-P 只显示符合范本样式的文件或目录名称。
-q 用"?"号取代控制字符,列出文件和目录名称。
-s 列出文件或目录大小。

Must
32 声望1 粉丝

永远不放弃技术(^_^)~~~