sed -n 's/^.*\/data/\/data/p' file
删除每行行首到“/data/”的内容
-n:输出只有经过sed特殊处理的一行,否则其他行都一并输出
sed -n 's/^.*\/data/\/data/;s/\:.*$//p' file
再前一个输出之上,再删除“:”到行末的内容
sed -n 's/.*\/data/\/data/;s/\:.*//p' file
行首^,与行末$不是必须,可以去掉
sed 's/^.*\/data/\/data/;s/\:.*//;/2022/d;/go/d' file
删除d不加-n
sed 's/\n/ \\/' file
or
sed 's/[[:space:]]/ \\/' file
替换空格为:空格\
sed 's/[[:space:]](/\\ \\(/;s/)/\\)/' file
替换空格(为:\空格(
基础上,替换)为:\)
操蛋的linux显示windows空格+括号路径...
fuction:编辑指令,可以为增删改查等指令
a 新增 a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
d 删除 d 后面通常不接任何内容;
s 替换 通常这个s的动作可以搭配正规表示法!例如 1,20s/old/new/g。
p 打印 亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行~
c 取代 c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
i 插入 i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
动作说明
[n1[,n2]] function
其中[n1[,n2]]称为定址符,用来定义需要操作的文本,如指定处理的起、止行数。
n1, n2 不见得会存在,一般代表“选择进行动作的行数”,举例来说,如果我的动作是需要在 10 到 20 行之间进行,则写作“10,20动作行为”。
地址可表示为文本的“行号”,或者用来匹配的“/正则表达式/”
省略定址符时,默认逐行处理全部文本。
基本的处理动作
替换担任的分隔“/”,可改用其他字符,如#、&等,便于修改文件路径
sed文本块处理
处理多行文本:修改后的文本有多行时,以换行符\n分隔,或使用\强制换行
# sed '/^HOSTNAME/cHOSTNAME=mysvr.tarena.com' /etc/sysconfig/network
^以HOSTNAME开头的行,替换成...
参考:
https://blog.csdn.net/jsut_rick/article/details/78287737