邯郸教育平台网站建设,巴中住房建设部网站,永修建设局网站,大连甘井子区教育公共服务平台一、sed用法
语法#xff1a; sed [-nefr] [动作] 作用#xff1a; 以行为单位的新增/删除/修改/插入/替换等功能#xff0c;bash脚本中常用。sed功能强大#xff0c;主要体现在[动作]的指定 选项与参数#xff1a; -n #xff1a;只有经过 sed 特殊处理的那一行 sed [-nefr] [动作] 作用 以行为单位的新增/删除/修改/插入/替换等功能bash脚本中常用。sed功能强大主要体现在[动作]的指定 选项与参数 -n 只有经过 sed 特殊处理的那一行或者动作才会被列出来。 nl /etc/passwd | sed -n 5,7p-e 直接在命令行界面上进行 sed 动作编辑-f 直接将 sed 的动作写在一个文件内 -f filename 则可以执行 filename 内的 sed 动作-r sed 的动作支持的是延伸型正则表达式的语法。-i 直接修改读取的文件内容而不是由屏幕输出。[危险直接修改原始文件]动作说明 [n1,n2]] function n1, n2 代表“选择进行动作的行数”如果动作是需要在 10 到 20 行之间进行的则“ 10,20 [动作行为] ”
function a 新增 a 的后面可以接字串而这些字串会在新的一行出现目前的下一行: nl /etc/passwd | sed 2a test tea .增加多行就在该行末尾加上转义\c 取代 c 的后面可以接字串这些字串可以取代 n1,n2 之间的行: nl /etc/passwd | sed 2,5c No 2-5 numberd 删除d 后面不接任何命令 nl /etc/passwd | sed 2,5di 插入 i 的后面可以接字串会在新的一行出现目前的上一行p 打印p 会与参数 sed -n 一起运行;s 替代通常这个 s 的动作可以搭配正则表达式: sed s/要被取代的字串/新的字串/g例如1,20s/old/new/g 二、示例
例如 将 /etc/passwd 的内容列出并且打印行号同时请将第 2~5 行删除