25:sed 's/old/new/' file.txt 这条最基本的替换命令,默认只替换每行的第几个匹配项?
默认只替换每行的第1个匹配项。
26:在 sed 's/old/new/g' file.txt 中,标记 g 的全称是什么?它改变了什么行为?
g 全称 global 全局的。
它由只替换每行的第1个匹配项,变成替换每行的所有匹配项。
27:命令 sed -n '3p' file.txt 中,-n 和 p 分别起什么作用?如果去掉 -n 会发生什么?
-n 抑制默认输出
p 打印,3p打印第三行
去掉 -n 会默认输出每一行,输出到第三行的时候还会在这一行下面再打印一遍第三行。
28:请解释 sed '3d' file.txt 对文本做了什么操作?
删除第三行,输出其他所有行。
29:sed '3,5d' file.txt 删除的范围是哪里?
删除第三行到第五行。
30:命令 sed 'd' file.txt 中的 符号代表哪一行?
$ 代表最后一行。
31:sed -i 's/foo/bar/g' file.txt 中的 -i 选项非常危险,它会对文件做什么?
Sed 默认不直接修改文件,-i 选项会对文件进行更改。
32:sed 's|/bin/bash|/bin/zsh|g' 这里为什么使用 | 而不是常见的 / 作为分隔符?
因为这里要把所有的 '/bin/bash' 改为 '/bin' ,内容都是路径,路径中含有 '/' ,用 '|' 替换掉,避免转义。
33:请解释 sed '/error/d' log.txt 是基于什么条件进行删除的?
匹配到含有 'error' 的行时删除这一行。
34:sed '/^$/d' file.txt 这条命令通常用来做什么清理工作?
清理空行。
35:命令 sed '2i\Text' file.txt 是在第2行的前面还是后面插入文本?
2i 是插入到第二行的位置,所以是在第二行前面插入文本。
36:命令 sed '2a\Text' file.txt 是在第2行的前面还是后面追加文本?
2a 是在第二行后面插入文本。
37:sed '2c\New Content' file.txt 中的 c 命令对第2行做了什么?
将第二行的内容替换成 'New Content'。
38:sed -n '/start/,/end/p' file.txt 打印的内容范围是如何界定的?
打印从含有 'start' 的行开始,到含有 'end' 的行结束的所有行。
39:在 sed 's/^\(.\)/\U\1/' file.txt 中,\U 和 \1 配合实现了什么功能?
\U 转为大写
\1 对第一个捕获组进行操作
\U\1 将第一个捕获组转为大写
s/^\(.\)/\U\1/ 将每行首字母转为大写
40:解释 sed 's/[0-9]//g' 的功能,它删除了文本中的什么内容?
删除了文本中的所有数字。
41:sed 's/\bhello\b/HELLO/g' 中 \b 的作用是什么?
精准匹配单词 'hello' 。
42:命令 sed '5,$d' file.txt 删除了从哪一行开始到哪里的内容?
从第五行到结尾的内容。
43:sed -e 's/a/A/' -e 's/b/B/' file.txt 中 -e 选项允许我们做什么?
既把小写 a 替换成大写 A,又把小写 b 替换成大写 B。
44:sed '=' file.txt 这个命令会输出什么特殊信息?
输出行号和内容分行。
45:在处理配置文件时,sed 's/^#//' 通常用于什么操作?
把所有位于行首的 '#' 都删掉,即取消注释。
46:反过来,sed 's/^/#/' config.txt 通常用于什么操作?
给每一行都加上 '#' ,即快速注释配置项。
47:sed 's/foo/bar/2' 这个命令中的数字 2 表示替换第几次出现的foo?
数字 2 表示替换一行中第2次出现的foo。
48:sed -f script.sed file.txt 中的 -f 选项表示命令来源哪里?
-f = file(文件)
不直接从命令行读取编辑指令,而是从指定的文件中读取并执行 sed 脚本命令。
命令全部来源于文件 script.sed
49:在HTML处理中,sed 's/<[^>]*>//g' 这个正则模式主要用来去除什么?
去除所有 HTML/XML 标签,只保留纯文本内容。
50:sed 'N; s/\n/ /' 其中的 N 命令和 \n 的替换实现了什么样的行操作?
N(next)读取下一行
N; s/\n/ / 读取两行,用空格替换换行。
51:sed '/foo/!d' file.txt 中的感叹号 ! 表示什么逻辑?
所有含有 'foo' 的行都不删除,即只保留含有 'foo' 的行。
52:解释 sed 's/./& /g' 中符号 & 代表什么内容?
& - 匹配到的原文内容
sed 's/./& /g' 在每个字符后面加一个空格。
53:sed -n '$p' file.txt 只会输出文件的哪一部分?
只会输出文件的最后一行。
54:在 sed '/Error/s/False/True/' 中,替换操作 s 是在所有行执行,还是受限于前面的地址?
受限于前面的地址,只有匹配到 'Error' 时才将这一行的 'False' 替换成 'True'。