十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
sed简介:流编辑工具,用来对文本进行过滤与替换操作。
创新互联是一家集网站建设,景洪企业网站建设,景洪品牌网站建设,网站定制,景洪网站建设报价,网络营销,网络优化,景洪网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
sed流程:sed通过一次仅读取一行内容来对某些指令进行处理后输出。
1、sed通过文件或管道读取文件内容,但sed默认并不直接修改源文件,而是将读入的内容复制到缓冲区中,称之为模式空间。
2、所有的指令操作都是在模式空间找那个进行
3、sed根据相应的指令对模式空间中的内容进行处理并输出结果,默认输出至标准输出(即屏幕上)。
sed基本语法格式:
用法:sed[选项]...{脚本指令}[输入文件]...
选项: -version 显示sed版本
-help :显示帮助文档
-n,-quiet,-silent静默输出,默认情况下,sed程序在所有的脚本指令执行完毕后,将自动打印模式空间中的内容。
-e script允许多个脚本指令被执行
-f script-file从文件中读取脚本指令,对编写自动化脚本程序很实用
-i ,-in-place 该选项直接修改源文件
-l N 该选项指定l指令可以输出的行长度,l指令为输出非打印字符。
-posix 禁用GNU sed扩展功能。
-r 在脚本指令中使用扩展正则表达式。
-s,-separate 默认情况下,sed将把输入的多个文件名作为一个长的连续的输入流。而GNU sed则允许把它们当作单独的文件。
-u,-unbuffered 最低限度的缓存输入与输出
a,append表示追加指令;
i,insert表示插入指令;
d,delete表示删除指令;
s,substitution表示替换指令。
sed脚本指令的基本格式是:
[地址,即路径]命令(有些命令仅可以对一行操作,有些可以对多行操作),命令也可以用花括号进行组合,使命令序列可以作用于同一个地址。
address{
command1
command2
command3
}
sed的基本工作方式是:
sed的替换命令s:
1、全局替换 : s/old/new/g ,其中g为全局替换,用于替换所有出现的次数; /如果和正则匹配的内容冲突可以使用其他符号,如 : s@old@new@g
2、标志位
为什么要有多行模式: 配置文件一般有单行出现,但也有使用json或XML格式的配置文件,为多行出现。
多行模式处理命令N、D、P
通过你的描述,替换命令如下:
1、tr 命令来进行替换
[root@localhost ss1]# tr '111' '2222222' aa.txt
2、sed 命令
[root@localhost ss1]# sed ‘s/wyf/wzw/g’ ./person.txt
这里使用sed 内置命令s 来实现替换功能,并且使用了全局替换标志g 表示替换文件中匹配wyf的所有字符串。
温馨提示:
1、tr 命令在接文件时比较特殊,需要输入重定向符号 “”
2、凡是在文本中出现的“111”均应转换成“222222”,而不是仅仅将单个进行转换,这个要注意。
3、在使用sed 命令时,要注意一下语法格式,将要替换的文本“wyf”放在第一个和第二个“/” 之间,将替换后的文本“wzw”放到第二个和第三个“/” 之间。这个要注意。
以上就是我的回答,在具体操作时,可能会有出入,如有问题可 私信 + 关注,我会第一时间来进行回复追答,希望我的回答能帮到你。
sed命令行格式:sed [options] 'command' file(s)
options常用选项:
-n或--quiet或——silent:仅显示script处理后的结果;
-e:以选项中的指定的script来处理输入的文本文件;
-f:以选项中指定的script文件来处理输入的文本文件;
-r∶sed 的动作支援的是延伸型正规表示法的语法;
-i∶直接修改读取的档案内容,而不是由萤幕输出;
-h或--help:显示帮助;
-V或--version:显示版本信息。
Command常用命令:
a:新增,a 的后面可以接字符串,而这些字符串会在新的一行出现(目前的下一行);
c:取代,c 的后面可以接字符串,这些字符串可以取代 n1,n2 之间的行;
d:删除,d 后面通常不接任何字符串;
i:插入,i 的后面可以接字符串,而这些字符串会在新的一行出现(目前的上一行);
p:列印,亦即将某个选择的资料印出。通常 p 会与参数 sed -n 一起运作;
s:取代,可以直接进行取代的工作,通常与正规表达式搭配使用。
实例说明:
新增操作:a命令
sed '/^bird/a\test' file将test追加到 以bird开头的行后面
删除操作:d命令
sed '/^$/d' file #删除空白行;
sed '2d' file #删除第二行;
sed '2,$d' file #删除第2行到最后一行;
sed '$d' file #删除最后一行;
sed '/^bird/'d file #删除所有开头是bird的行;
插入操作:i命令
sed -i '3i\bird ' bird.conf #在bird.conf文件第3行之前插入bird
替换文本中的字符串:s命令
sed 's/bird/birds/' file #将文本中的bird替换成birds;
sed -i 's/ bird / birds /g' file #将file文件中每一行的第一个bird替换为birds;
可以使用 Linux 系统的拷贝命令 cp,对原来的文件进行替换。例如:
$cp newfile oldfile
该命令的作用就是使用现在 newfile 的内容,替换掉原来 oldfile 的内容。
1、这么就用不会提示了:#
\cp
-rf
2、
原因:
#
vi
~/.bashrc
如果你看到如下内容,以下命令都会用别名执行了,就是说自动加了
-i
参数:
alias
rm='rm
-i'
alias
cp='cp
-i'
alias
mv='mv
-i'
为了让复制和移动大量文件去覆盖目标时,不会产生一个个的提示,命令应该这样写
#
\cp
-rf
/data/xxx*
/home/xxx
注意
cp
命令前加了
\
,意思是不让它用~/.bashrc里的别名运行,即
-i
参数
3、补充cp该命令的各选项含义如下
-
a
该选项通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录,其作用等于dpR选项的组合。
-
d
拷贝时保留链接。
-
f
删除已经存在的目标文件而不提示。
-
i
和f选项相反,在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷贝。
-
p
此时cp除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。
-
r
若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名。
-
l
不作拷贝,只是链接文件。
4、需要说明的是,为防止用户在不经意的情况下用cp命令破坏另一个文件,如用户指定的目标文件名是一个已存在的文件名,用cp命令拷贝文件后,这个文件就会被新拷贝的源文件覆盖,因此,建议用户在使用cp命令拷贝文件时,最好使用i选项。
安装 trash-cli
Trash-Cli 提供了下面这些命令:
例子:
下面,让我们通过一些例子来试验一下。
和你在文件管理器中看到的一样。
删除超过 N 天的垃圾文件 trash-empty N
例如:删除回收站中超过 10 天的项目
输入 rs 后,询问恢复内容,需要输入文件索引来恢复
参考阅读:
Trash-Cli:Linux 上的命令行回收站工具
Trash-cli : A Commandline Trashcan For Unix-like Systems