广州网站建设粤icp,长沙平面设计公司都有哪些,wordpress站点标题删除,网络推广方案文案sed简介 sed是一种流编辑器#xff0c;处理时#xff0c;把当前处理的行存储在临时缓冲区中#xff0c;称为模式空间#xff0c;接着用sed命令处理缓冲区中的内容#xff0c;处理完成后#xff0c;把缓冲区的内容送往屏幕。接着处理下行#xff0c;这样不断重复#xf…sed简介 sed是一种流编辑器处理时把当前处理的行存储在临时缓冲区中称为模式空间接着用sed命令处理缓冲区中的内容处理完成后把缓冲区的内容送往屏幕。接着处理下行这样不断重复直到文件末尾。文件内容并没有改变。 sed的语法 基本语法# sed 参数 测试文件 常用参数详解 # cat passwd -n testfile 【配置测试文件】 -n : --quiet--silent: 不输出模式空间中的内容使用安静模式在一般sed的用法中所有来自STDIN的数据一般都会被列出到屏幕上但如果加上-n参数后则只有经过sed特殊处理的那行才会被列出来; -i : 直接编辑原文件而不是由屏幕输出默认不对原文件进行操作; -e : 直接在命令行模式上进行sed的动作编辑多个子命令之间也可以用分号隔开; -r : 使用扩展正则表达式; -f : 直接将sed的动作写在一个文件内-f rule则可以执行rule内的sed动作。 # vim rule 模式空间中的编辑操作 地址定界 # sed -n 行/参数s / 匹配内容 / 替换内容 /g 测试文件 # cat passwd 【查看测试文件】 # sed 1,3s/:/bin/g passwd 【1-3行将 : 为目标替换为bin】 # sed -e 2,2s/bin/:/g passwd 【替换2行以及后2行】 # sed -e 2~2s/:/__/g passwd 【第2行开始间隔1行替换】 # sed -e /daemon/,/sys/s/://g passwd 【对daemon开头到sys开头的行替换字符】 # sed 1,/^sys/s/:/##/g passwd 【从第1行到sys的行】 常用编辑命令 显示删除行/d 显示指定行/p 添加行a 插入行i 整行替换 整合文件 字符替换 练习根据用户参数和用户密码参数设置创建用户脚本 # vim cj.sh 【创建脚本】 #!/bin/bash liwc -l user.sh | cut -d -f 1 【wc -l 统计行数cut -d -f 1 以空格为分隔符取第一列】 # 创建用户 for i in seq 1 $li do #读取脚本 usernamesed -n ${i}p $1 【读取第一个参数用户名脚本】 passwordsed -n ${i}p $2 【读取第二个参数密码脚本】 # 检查用户是否已存在 if id $username /dev/null; then echo 用户 $username 已存在 #不存在创建 else useradd $username echo $passwd | passwd --stdin $username /dev/null fi done 用户已创建运行结果 运行结果 特殊字符 # sed 2,1s/:/##/g testfile 【替换第2行以及后1行】