当前位置:首页 » 编程软件 » linux脚本替换字符串

linux脚本替换字符串

发布时间: 2023-01-26 03:04:33

❶ 总结linux替换字符串的几种方法

换个角度,替换/bin为/bin就不会有错啦
echo ${path/\/bin/\/bin} 其中/前面要加转义符\

或者用sed来替换,
echo $path | sed 's#/bin#/bin#g'格式为s#a#b#,将a替换为b。
后面加个g表示全局替换,即替换所有出现的。
也可以这样写:
echo $path | sed 's#[^s]bin#/bin#g'[^s]在正则中表示不是s的一个字符。这里只有两种情况,一种是sbin,一种是/bin,这样sbin就可以被排除了。

❷ linux shell 脚本 字符串替换问题

shell脚本中,单引号内的$是不被解释的
perl支持双引号吗?改成双引号试试

❸ linux替换文件中的字符串怎么使用

(一)通过vi编辑器来替换。
参考博文:
http://www.linuxdiyf.com/viewarticle.php?id=99843
http://kingaragorn.javaeye.com/blog/467308

vi/vim 中可以使用 :s 命令来替换字符串。以前只会使用编辑软件进行替换,今天发现该命令有很多种写法(vi 真是强大啊,还有很多需要学习),记录几种在此,方便以后查询。

:s/well/good/ 替换当前行第一个 well 为 good

:s/well/good/g 替换当前行所有 well 为 good

:n,$s/well/good/ 替换第 n 行开始到最后一行中每一行的第一个 well 为 good

:n,$s/well/good/g 替换第 n 行开始到最后一行中每一行所有 well 为 good

n 为数字,若 n 为 .,表示从当前行开始到最后一行

:%s/well/good/(等同于 :g/well/s//good/) 替换每一行的第一个 well 为 good

:%s/well/good/g(等同于 :g/well/s//good/g) 替换每一行中所有 well 为 good

可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符

:s#well/#good/# 替换当前行第一个 well/ 为 good/

:%s#/usr/bin#/bin#g

可以把文件中所有路径/usr/bin换成/bin

(二)Sumly法直接替换文件中的字符串。(此法不用打开文件即可替换字符串,而且可以批量替换多个文件。)
例1
执行命令:
perl -p -i -e "s/China/Sumly/g" /www/*.htm /www/*.txt

上面的意思是说将www文件夹下所有的htm和txt文件中的“China”都替换为“Sumly”

例2
执行命令:
perl -p -i -e "s/memory_proction/memory_proction2/g" ./*.sql

上面的意思是将当前目录下所有的sql文件中的“memory_proction”替换成“memory_proction2”

❹ linux 下用shell sed替换文本中的字符串

sed是行编辑器,用这个工具非常困难。可以参考以下脚本:

#!/bin/bash
while read line
do
if echo $line | grep 'Hour$' >/dev/null; then
echo $line | tr -d '\n'
else
echo $line
fi
done < $1

1,将上面脚本保存为fuck.sh
2,chmod 755 fuck.sh
3,./fuck.sh file

❺ linux替换文件中的字符串怎么使用

可以通过shell脚本替换字符串方式,如果知道第几行,格式如下:
hello
字符串内容可能是任意字符串,如何把>和<中间的字符串替换为我的字符串比如world
具体例子:
比如要替换第128行
sed
-i
'128s/>.*world
'
test.txt
这样子</pre
评论
0
0
加载更多

❻ 如何在linux环境下实现txt文本的字符串替换

#!/usr/bin/python
import
sys
fin=open(sys.argv[1])
fout=open(sys.argv[1]+'.new',"w")
line=fin.readline()
while
line!='':
line=line.replace(sys.argv[2],sys.argv[3])
fout.write(line)
line=fin.readline()
fin.close()
fout.close()
各linux里基本都有python的,将上面保存为rp.py,替换某文件中字符串格式
./rp.py
~/tmp.txt
aaa
xxx
将自己家目录中的tmp.txt中所有aaa替换为xxx
新产生的文件也在tmp.txt目录中,叫tmp.txt.new

❼ linux如何替换文件指定行的特定位置字符串

可以通过Shell脚本替换字符串方式,如果知道第几行,格式如下:

<string id="str_ig_ghjjk">hello</string>

字符串内容可能是任意字符串,如何把>和<中间的字符串替换为我的字符串比如world

具体例子:
比如要替换第128行
sed -i '128s/>.*</>world</' test.txt
这样子

❽ SHELL脚本对LINUX下指定文本文件的满足条件的行的特定位置字符串进行替换

YDAY=$(date+"%Y%m%d"-d"-1days")
TDAY=$(date+"%Y%m%d")
awk-vYDAY=$YDAY-vTDAY=$TDAY'
NR==1{
if(substr($0,20,8)==YDAY)
$0=substr($0,1,19)TDAYsubstr($0,28)
if(substr($0,34,8)==YDAY)
$0=substr($0,1,33)TDAYsubstr($0,42)
}
/^TH/{
if(substr($0,21,8)==YDAY)
$0=substr($0,1,20)TDAYsubstr($0,29)
}
{print}'文件名

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

方法一:

使用perl ,命令如下:

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

”http://repo1.maven.org/maven2“

替换为

”http://localhost:8081/nexus/content/groups/public“.

这里用到了Perl语言,

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

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

方法二:

使用sed命令如下:

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

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

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

具体格式如下:

实例代码:

❿ 在red hat enter linux中用怎么替换字符串

sed。
在linux中可以利用sed命令来查找和替换文件中的字符串,该命令采用的是流编辑模式,可以根据正则表达式匹配和处理文本文件中的数据,替换语法为“sed”s/要搜索的字符串或正则表达式/替换值/g'要执行操作的文件名”。

热点内容
java返回this 发布:2025-10-20 08:28:16 浏览:710
制作脚本网站 发布:2025-10-20 08:17:34 浏览:972
python中的init方法 发布:2025-10-20 08:17:33 浏览:681
图案密码什么意思 发布:2025-10-20 08:16:56 浏览:834
怎么清理微信视频缓存 发布:2025-10-20 08:12:37 浏览:741
c语言编译器怎么看执行过程 发布:2025-10-20 08:00:32 浏览:1081
邮箱如何填写发信服务器 发布:2025-10-20 07:45:27 浏览:312
shell脚本入门案例 发布:2025-10-20 07:44:45 浏览:192
怎么上传照片浏览上传 发布:2025-10-20 07:44:03 浏览:880
python股票数据获取 发布:2025-10-20 07:39:44 浏览:837