seq命令详解
seq命令是一个简单但功能强大的工具,用于生成一系列数字。它允许用户指定起始值、结束值以及步长,甚至可以控制输出的格式和宽度。例如,生成一个从1到5的数字列表,可以简单地使用命令seq 5
。如果需要生成从-2到10,步长为2的数字列表,则使用seq -2 2 10
。此外,seq还提供了丰富的选项来定制输出,如使用-f
指定输出格式,-s
设置分隔符,-w
确保所有数字具有相同的宽度。
具体示例:
- 生成1至5的整数序列:
seq 5
- 生成-2至10的偶数序列:
seq -2 2 10
- 生成98至101的整数序列,并使所有数字宽度相同:
seq -f "%3g" 98 101
- 生成98至101的整数序列,使用':::'作为分隔符:
seq -s "::::" -f "%03g" 98 101
sed命令深入解析
sed(stream editor)是一种流编辑器,是处理文本的重要工具之一,能够完成查找、替换、删除、插入等操作。sed命令的基本格式为sed [选项] '命令' 文件名
,其中命令可以非常灵活,包括但不限于:
- 在特定行后追加文本:
sed '2a testContent' test.txt
- 在多行后追加文本:
sed '1,3a testContent' test.txt
- 替换某行的全部内容:
sed '2c testContent' test.txt
- 替换多行的内容为同一内容:
sed '1,3c testContent' test.txt
- 删除指定行:
sed '2d' test.txt
- 删除多行:
sed '1,3d' test.txt
- 在特定行前插入文本:
sed '2i testContent' test.txt
- 在多行前插入文本:
sed '1,3i testContent' test.txt
- 重复打印特定行:
sed '2p' test.txt
- 重复打印多行:
sed '1,3p' test.txt
- 仅打印指定行:
sed -n '2p' test.txt
- 仅打印多行:
sed -n '1,3p' test.txt
- 打印包含特定模式的行:
sed -n '/user/p' test.txt
- 打印不包含特定模式的行:
sed -n '/user/!p' test.txt
- 仅打印发生替换的行:
sed -n 's/old/new/gp' test.txt
- 替换每行的第一个匹配项:
sed 's/old/new/' test.txt
- 全局替换所有匹配项,忽略大小写:
sed 's/old/new/gi' test.txt
- 在特定范围内进行替换:
sed '3,9s/old/new/gi' test.txt
- 执行多个sed命令:
sed -e 's/系统/00/g' -e '2d' test.txt
- 从文件中读取多个sed命令:
sed -f ab.log test.txt
sed命令的强大之处在于其灵活性和效率,适合于自动化脚本编写,特别是在需要批量处理文本文件时。通过上述命令,我们可以轻松实现对文件内容的各种操作,极大地提高了工作效率。