本文总结一些在开发中常用到的Linux命令。
1. vim
vim命令用于编辑文件。
普通模式(命令行模式)
1 | set number/set nu:vim时显示行号 或通过修改vim的配置文件使得每次vim时都显示行号 |
由普通模式进入插入模式
1 | i:在当前光标处进行编辑 |
由插入模式进入普通模式
1 | ESC |
2. grep
grep命令用于查找文件里符合条件的字符串。
1 | 以nba.txt文件为例: |
3. awk
awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。awk语言的最基本功能是在文件或者字符串中基于指定规则浏览和抽取信息。通常,awk是以文件的一行为处理单位的。
3.1 调用awk
有三种方式可以调用awk:
1 | A.命令行方式 |
3.2 awk命令
awk工作流程:读入有’\n’换行符分割的一条记录,然后将记录按指定的域分隔符划分域,填充域,$0则表示所有域,$1表示第一个域,$n表示第n个域。默认域分隔符是”空白键” 或 “[tab]键”。
1 | 以awk.txt文件为例,文件内容如下: |
下面以/etc/passwd文件为例:
1 | -F是指定分隔符,head -5只查看前五行 |
3.3 awk内置变量
1 | ARGC 命令行参数个数 |
3.4 awk编程
除了awk的内置变量,awk还可以自定义变量。
1 | 统计/etc/passwd的账户人数: |
4. sed
sed的作用就是实现对文件的 “ 增删改查 ” 。
sed遵循简单的工作流:
- 读取(从输入中读取某一行)
- 执行(在某一行上执行sed命令)
- 显示(把结果显示在输出中)
默认是显示修改后内容,不会修改原文件,除非使用-i 参数
1 | sed [-nefri] 'command' test.txt |
新增 a
1 | sed '2a testContent' test.txt:在第 2 行后面新增一行内容 |
替换 c
1 | sed '2c testContent' test.txt:将第 2 行内容整行替换 |
删除 d
1 | sed '2d' test.txt:删除第 2 行 |
插入 i
1 | sed '2i testContent' test.txt:在第 2 行前面插入一行内容 |
打印 p
1 | sed '2p' test.txt:重复打印第 2 行 |
替换 s
1 | sed 's/old/new/' test.txt:匹配每一行的第一个old替换为new |
参数 -e
1 | sed -e 's/aaa/bbb/g' -e '2d' test.txt:执行多个指令 |
参数 -f
1 | sed -f ab.log test.txt:多个命令写进ab.log文件里,一行一条命令,效果同-e,文件的内容就是多行sed命令 |