千家信息网

6.2 bash编程 整数测试及特殊变量

发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,6.2 linux的三大神器grep,sed(流编辑器),awksed基本用法sed :Stream EDitor行编辑器(全屏编辑器:vi)sed:模式空间默认不编辑原文件,仅对模式空间中的数据做处
千家信息网最后更新 2025年02月02日6.2 bash编程 整数测试及特殊变量

6.2 linux的三大神器

grep,sed(流编辑器),awk


sed基本用法

sed :Stream EDitor

行编辑器(全屏编辑器:vi)


sed:模式空间

默认不编辑原文件,仅对模式空间中的数据做处理:而后,处理

结束后,将模式空间打印至屏幕


sed [options] 'AddressCommand' file ...

-n:静默模式,不再默认显示模式空间里的内容


Address:

1 StartLine,EndLine

比如1,100(从第1行到100行)

$:最后一行


2 /REGEXP/

比如 /^root/

sed '/oot/d' /etc/fstab

3 /Pattern1/,/Pattern2/

表示第一次被Pattern1匹配到的行开始,到第一次被Pattern2

匹配到的行结束,这中间的所有行


4 LineNumber

指定的行

sed '1d' /etc/fstab

5 StartLine,+N

从StartLine开始,向后的N行,共N+1行

sed '1,+2d' /etc/fstab

Command:

d:删除符合条件的行

p:显示符合条件的行

a \string:在指定的行后面追加新行,内容为"string"

\n: 可以用于换行

i \string:在指定的行前面追加新行,内容为"string"

r FILE:将指定的文件的内容添加至符合条件的行处

w FILE:将地址指定范围内的行另存至指定的文件中

s/pattern/string/修饰符:查找并替换(默认只替换每行中第一次

被模式匹配到的字符串)

加修饰符

g:全局替换

i:忽略字符大小写


sed '1,2d' /etc/fstab


sed '/^\//d' /etc/fstab


sed '/^\//a \# hello world' /etc/fstab


sed '/^\//a \# hello world\n # hello,linux' /etc/fstab


sed '2r /etc/issue' /etc/fstab


sed '/oot/w /tmp/oot.txt' /etc/fstab


sed 's/oot/OOT/' /etc/fstab


sed 's/^\//#/' /etc/fstab



0