重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

linux命令被替换 Linux什么是命令替换

linux怎么批量替换文件内容?

方法一:

成都创新互联自2013年起,先为思南等服务建站,思南等地企业,进行企业商务咨询服务。为思南企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

使用perl ,命令如下:

下面这个例子就是将当前目录及所有子目录下的所有pom.xml文件中的

”“

替换为

”“.

这里用到了Perl语言,

perl -pi -e 在Perl 命令中加上-e 选项,后跟一行代码,那它就会像运行一个普通的Perl 脚本那样运行该代码.

从命令行中使用Perl 能够帮助实现一些强大的、实时的转换。认真研究正则表达式,并正确地使用,将会为您省去大量的手工编辑工作。

方法二:

使用sed命令如下:

Linux下批量替换多个文件中的字符串的简单方法。用sed命令可以批量替换多个文件中的字符串。

例如:我要把aaa替换 为bbb,执行命令:

这是目前linux最简单的批量替换字符串命令了!

具体格式如下:

实例代码:

Linux命令之sed-替换字符串

1. sed -i 's/CANCEL_TIME/CANCEL_RECV_TIME/g' csv2drds-TF_B_PAYLOG_D.json

---指定文件替换,将文件中的CANCEL_TIME替换成CANCEL_RECV_TIME;

2. sed -i 's/CANCEL_TIME/CANCEL_RECV_TIME/g' `grep CANCEL_TIME -rl ./*TF_B_PAYLOG_D*.json`

---批量文件替换,递归查找含CANCEL_TIME的文件,将所有文件中的CANCEL_TIME替换成CANCEL_RECV_TIME;

3. sed -i 's/\/tmp\/ditagent\/TF_B_PAYLOG_D.csv/\/vdata\/datapre\/281\/'"$filename"'/g' $jsonname

---带/的字符串替换,将/tmp/ditagent/TF_B_PAYLOG_D.csv替换成/vdata/datapre/281/'"$filename"'

4. sed -i 's/^/beginstring/g' *.txt

---在所有行首添加字符串;

5.  sed -i 's/$/endstring/g' *.txt

---在所有行末添加字符串

6. sed -i '2s/原字符串/替换字符串/g' *.txt

---替换第2行

7. sed -i '$s/原字符串/替换字符串/g' *.txt

---替换最后一行

8. sed -i  '2,5s/原字符串/替换字符串/g' *.txt

---替换2到5行

9. sed -i  '2,$s/原字符串/替换字符串/g' *.txt

---替换2到最后一行

10. sed 's/\x80/|/g' test.dat |iconv -f gbk -t utf-8 testutf8.dat

---把test.dat中的欧元符号替换成竖线,再将文件gbk格式转成utf8

-i选项是直接在文件中替换,不在终端输出;

-r选项是所给的path中的目录递归查找;

-l选项是输出所有匹配到oldstring的文件;

s/表示替换

/g表示全局替换

linux命令行替换文件内容

通过你的描述,替换命令如下:

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”放到第二个和第三个“/” 之间。这个要注意。

以上就是我的回答,在具体操作时,可能会有出入,如有问题可  私信 + 关注,我会第一时间来进行回复追答,希望我的回答能帮到你。

linux之文本内容替换命令sed

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

Linux rm 命令替换

安装 trash-cli

Trash-Cli 提供了下面这些命令:

例子:

下面,让我们通过一些例子来试验一下。

和你在文件管理器中看到的一样。

删除超过 N 天的垃圾文件 trash-empty N

例如:删除回收站中超过 10 天的项目

输入 rs 后,询问恢复内容,需要输入文件索引来恢复

参考阅读:

Trash-Cli:Linux 上的命令行回收站工具

Trash-cli : A Commandline Trashcan For Unix-like Systems

Linux下的shell编程 如何替换文件中的内容

可以这样做:

方法1:sed -i 's/被替换的内容/要替换成的内容/' file

方法2:sed 's/被替换的内容/要替换成的内容/g' file file.out;mv file.out file。

扩展资料:

Shell编程的常用技巧:

一、自动补齐:在linux中对于命令或路径,可以TAB键进行自动补全,以下事项需要注意:

1、只存在一个该输入字符开头的命令或路径,此时自动补全;

2、存在多个该输入字符开头的命令或路径,此时第一次点击TAB键无效,此时再次点击TAB会罗列出所有该字符开头的命令或路径,继续输入直到仅仅剩一个时自动补全;

3、如果命令已经是完整的,TAB键则是本来的移动功能;而路径的话要看命令自身的行为决定后续动作。

二、历史命令

1、history命令可以显示历史执行过的命令;

2、使用!+序号执行该序号对应的命令;

3、使用!+字符执行该字符开头的最后一次执行的指令。

三、命令别名

1、实现别名:alias ddd="df -Th";

2、删除别名:unalias ddd;

3、显示所有别名命令列表:alias;

4、存放位置:~/.bashrc  (加入该文件后,重启后不会消失)。

四、重定向

1、重定向标准输入: 命令接收输入的途径由键盘改为文件;

2、重定向标准输出: 将命令的执行结果输出到指定文件,而不是直接显示到屏幕;

3、重定向标准输出: 将命令的执行结果追加输出到指定文件;

4、重定向标准错误:2 清除指定文件的内容,并把标准错误信息保存到指定文件;

5、重定向标准错误:2 标准错误信息追加到指定文件;

6、重定向标准输出和标准错误:  将标准输出、标准错误信息全部保存到指定文件,而不是直接显示在屏幕上。


网页名称:linux命令被替换 Linux什么是命令替换
网站地址:http://cqcxhl.com/article/dodchge.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP