sed令详解(linux令sed的用法)

1年前 (2024-04-22)

今天给各位详细介绍关于“sed令详解”的核心内容以及“linux令sed的用法”的相关知识,希望对各位有所帮助。

  sed是一种流编编器,它是文本处理中非常中的工具,能够的配正则表达式便用,功物能不同凡响。处理时,把当前处理的行存储在临时缓冲区中,称为”模式空间”( oattern space),接看用sed令处理缓冲区中的内容,处理成后,把缓冲区的内容送往屏幕显示。

  接着理下一行,这样不断重复,直到文件末。文件内容没有改改变,除非使用了写入的令,将内容更新。定址用于决定对哪些行进行编辑。地址的形式可以是数字、正则表达式、或二者的结。如果没有指定地址,sed将处理输入文件的所有行。

  sed 令的基本格式如下:

  sed [选项] [脚本令] 文件名

  该令常用的选项及含义,如表 1 所示。

  成功使用 sed 令的关键在于掌握各式各样的脚本令及格式,它能帮你定制编辑文件的规则。

  sed s 替换脚本令此令的基本格式为:

  [address]s/pattern/replacement/flags

  其中,address 表示指定要操作的具体行,pattern 指的是需要替换的内容,replacement 指的是要替换的新内容。

  关于指定具体操作行(address)的用法,这里先不做解释,文章后续会对其做详细介绍。

  此令中常用的 flags 标记如表 2 所示。

  1、只打印第三行

  sed -n '3p' /var/log/yum.log

  2、只查看文件的第3行到第9行

  sed -n '3,9p' /var/log/yum.log

  3、过滤特定字符串,显示正行内容

  sed -n '/perl/p' /var/log/yum.log

  4、打印1-5行,并显示行号

  sed -n -e '1,5p' -e '=' /var/log/yum.log

  5、替换

  sed 's/disabled/enforcing/g' /etc/selinux/config

  sed -i 's/disabled/enforcing/g' /etc/selinux/config

  6、正则匹配IP和子网掩码

  ifconfig |sed -n '2p'

  ifconfig |sed -n '2p' | sed -r 's#.*r:(.*) B.*k:(.*)#1 2#g'

  --(.*)表示匹配的项,之后可以用1取出个括号内匹配的内容,2取出第二个括号内匹配的内容

  7、sed错误使用

  sed 's#,# #h' .txt | cut -d" " -f 3,5 .txt 正确的用法

以上内容就是关于sed令详解和linux令sed的用法的精彩内容,是由小编认真整理编辑的,如果对您有帮助欢迎收藏转发...谢谢!