linux:文件替换的三种方式sed、awk、perl_perl sed_Lvan的前端笔记的博客-CSDN博客


本站和网页 https://blog.csdn.net/weixin_43972437/article/details/130604845 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

linux:文件替换的三种方式sed、awk、perl_perl sed_Lvan的前端笔记的博客-CSDN博客
linux:文件替换的三种方式sed、awk、perl
Lvan的前端笔记
已于 2023-05-11 15:55:00 修改
1561
收藏
分类专栏:
# linux
文章标签:
linux
perl
运维
于 2023-05-10 18:07:25 首次发布
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_43972437/article/details/130604845
版权
linux
专栏收录该内容
39 篇文章
1 订阅
订阅专栏
文章目录
背景sed语法问题1、加个空字符串2、下载gnu-sed
awk语法举例
perl语法示例
总结
背景
linux 文件内容替换,网上看了下大致就这三种 sed、awk、perl,今天挨个使用一下看看怎么样
sed
语法
Linux sed 命令是利用脚本来处理文本文件。详细文档
sed [-hnV][-e<script>][-f<script文件>][文本文件]
搭配 find 可以对文件夹进行查找替换: find ./ -name "*.js" | xargs sed -i '' 's/aaa/hhh/g'
问题
一般在 linux 上该命令就可以生效。
sed -i 's/aaa/hhh/g' index.js
但是我尝试后报错 command i expects \ followed by text,原因是在Mac上,sed来自BSD,与典型的Linux机器上的sed略有不同。 解决这个问题有两种方式:
1、加个空字符串
sed -i '' 's/aaa/hhh/g' index.js
在 mac 上,需要加字符串 这里的空字符串是备份文件后缀的意思,比如你填写
sed -i '.source' 's/aaa/hhh/g' index.js
2、下载gnu-sed
brew install gnu-sed
awk
AWK 是一种处理文本文件的语言,是一个强大的文本分析工具。
语法
awk [选项参数] 'script' var=value file(s)
详细文档
举例
awk '{ sub(/aaa/,"hhh"); print $0 }' index.js
可以看出,确实把 aaa 改为 hhh 了,但是只是打印输出,没有修改源文件,那么如何改呢?使用 >
linux 中 > 就是把写入内容的意思,>> 是内容追加的意思,可以看这篇
awk '{ sub(/aaa/,"hhh"); print $0 > "index.js" }' index.js
这样就可以正常替换了
perl
perl 是一种编程语言,linux 上自带了该语言。详细文档 Perl 借用了C、sed、awk、shell脚本以及很多其他编程语言的特性,语法与这些语言有些类似,也有自己的特点。
语法
-p 告诉Perl对后面添加的文件名参数进行遍历,大致和sed中的这段代码效果类似-i 大致是用来读取文件时进行备份操作。-e 告诉Perl后面跟上perl语句-p和-i可以合在一起-pi,-p -e也可以何在一起,但是-i,-e不能合在一起写-ie。
示例
perl -pi -e 's|aaa|hhh|g' index.js
替换并生成备份
perl -pi.source -e 's|aaa|hhh|g' index.js
find ./ -name "*.js" | xargs perl -pi -e 's|aaa|hhh|g'
总结
sed – 当你需要对文件进行简单的文本转换。awk – 当你只需要简单的格式化和汇总或转换数据。perl – 几乎任何任务,但特别是当任务需要复杂的正则表达式时。python – 对于可以使用Perl的相同任务。
sed 是一个编辑器(命令行) awk 是一个文本处理工具(命令行) shell、perl、python 是编程语言
以上的 / 和 | 都可以使用,例如 ‘s/aaa/hhh/g’,‘s|aaa|hhh|g’
向“C知道”追问
阅读终点,创作起航,您可以撰写心得或摘录文章要点写篇博文。去创作
Lvan的前端笔记
关注
关注
点赞
收藏
觉得还不错?
一键收藏
打赏
知道了
评论
linux:文件替换的三种方式sed、awk、perl
linux:文件替换的三种方式sed、awk、perl
复制链接
扫一扫
专栏目录
详解linux下批量替换文件内容的三种方法(perl,sed,shell)
09-15
本篇文章主要介绍了linux下批量替换文件内容的三种方法(perl,sed,shell),具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
linux几种常见的文件内容查找和替换命令
枼默
09-19
2万+
1、通过vim编辑器来替换
vi/vim 中可以使用 :s 命令来替换字符串。
:s/well/good/ 替换当前行第一个 well 为 good
:s/well/good/g 替换当前行所有 well 为 good
:n,$s/well/good/ 替换第 n 行开始到最后一行中每一行的第一个 well 为 good
:n,$s/well/good/g 替换第 n 行开始到最后一行中每...
参与评论
您还未登录,请先
登录
后发表或查看评论
Linux 中过滤文件夹下包含指定内容的文件并替换指定内容
Solititude的博客
06-17
1116
Linux 中过滤文件夹下包含指定内容的文件并替换指定内容
linux文件内容的替换
abitnervous的博客
10-19
5929
学习
Linux中perl和sed的字符串批量替换,包括特殊字符$的替换
OKailon的博客
12-07
2796
运行环境:Debian 9 和 Ubuntu 18.04.1
所有的命令都是现学现卖,但都是测试过的,网上有相当多的帖子是被搬来搬去的,没有测试过,相当一部分是不能100%运行的,所以在此分享100%可以运行的替换命令。
在Linux中文本替换通常有Perl,Sed和Shell 3种方法,网上现有的帖子[简洁版],[详细版]
在此介绍Perl和Sed方法:
1. Perl 方法
find /...
linux批量替换文件内容
weixin_42326851的博客
10-30
2万+
linux批量替换文件内容
linux 换行符 替换_Linux生信常用快速操作
weixin_35075740的博客
12-25
1295
基因测序的结果非常大,介绍一些直接在Linux服务器上操作的快速方法。大家应该掌握基本的管道操作,for循环,以及zcat、cat、less、grep、cut、sed、paste、vi等命令。根据数值、字符或者字符长度筛选行Filter rows by column value# 保留第7列小于0.05的行
awk '{ if ($7 < 0.05) { print } }' file
#...
linux替换文件内容 awk,Linux awk替换文本字符串内容
weixin_32795109的博客
05-06
5426
awk是功能强大的文本分析工具. 与grep搜索和sed编辑相比,awk在分析数据和生成报告时特别强大. 简而言之,awk逐行读取文件,将每一行切成空格作为默认分隔符,然后对剪切的部分执行各种分析处理.awk'{pattern+action}'{filenames}尽管操作可能很复杂,但语法始终是相同的,其中pattern表示AWK在数据中查找的内容awk 替换,而action是在找到匹配...
sed命令_Linux sed命令:替换、删除、更新文件中的内容
weixin_57023347的博客
05-08
736
sed 是 stream editor 的缩写,中文称之为“流编辑器”。sed 命令是一个面向行处理的工具,它以“行”为处理单位,针对每一行进行处理,处理后的结果会输出到标准输出(STDOUT)。你会发现 sed 命令是很懂礼貌的一个命令,它不会对读取的文件做任何贸然的修改,而是将内容都输出到标准输出中。
linux使用sed替换文本文件中的字符或字符串
monkey00001的博客
03-29
447
linux使用sed替换文本文件中的字符或字符串
文本三剑客:grep sed awk
01-07
grep和正则表达式
什么是正则表达式: 正则表达式用于描述字符排列和匹配模式的一种语法规则。它主要用于字符串的模式分隔、匹配、查找及替换操作
元字符
重复匹配前一个字符0到多次
匹配除了换行符外任意一个字符,类似通配符?
匹配行首或后面字符的非
匹配行尾
[ ]
匹配中括号中的指定任意一个字符,只匹配一个字符
[^]
匹配除了中括号的字符以外的任意一个字符,(取反)
转义符,让特殊的字符丧失意义
{n}
表示其前面的字符恰好出现n次
{n,}
表示其前面字符出现不少于n次。
{n,m}
表示其前面的字符至少出现n次,最多出现m
浅谈linux中sed命令和awk命令的使用
01-20
本文主要研究的是linux中sed命令和awk命令的使用的相关内容,具体如下。
1、sed命令:没有重定向不会真正修改源文件中的内容
查询语句
①sed -n ‘/sbin/p’ passwd
表示查询出passwd文件中存在sbin字符的所有行并打印出来,其中两个/表示的是其中的是正则表达式,-n和/p是该命令的参数,需要联合使用
②sed -n ‘xp’ passwd
x是数字,表示打印出passwd文件中第x行的数据
新增语句
①sed ‘1a 这是第一行后面添加的内容’ passwd
其中a表示是添加内容,1数字表示是第几行,上面语句的意思表示在passwd文件
Linux下如何对ISO文件编辑的方法示例
01-10
前言
我们知道 Windows下有类似 UltraISO的这样的软件可以用来编辑 ISO文件,可引导 ISO也没有问题。近来在 Linux下玩的比较多,正好要改个 ISO,于是就开始找 Linux下有没有类似的软件。
Ubuntu软件中心里有一款叫 ISOMaster的软件,可以创建和修改 ISO文件。
$ sudo apt-get install isomaster
如图,我打开一个 ISO文件以后就可以直接用过右键菜单来修改 ISO中的文本内容。
ISOMaster
好了,你是不是觉得可以通过 mount -o loop然后直接编辑来解决问题呢?事实上,不管我们怎么 mount,就算用
linux系统,awk,grep,sed
08-13
主要减少linux系统中的查询三剑客grep,awk,sed的使用方法和详解,适合linux初学进行学习,适合在日常对于文本内容或者命令执行结果的搜索,可以完善和简便自己的工作内容和完善对于shell脚本的使用。
sed命令替换文件内容
01-09
sed命令下批量替换文件内容 格式: sed -i “s/查找字段/替换字段/g” `grep 查找字段 -rl 路径` 文件名 -i 表示inplace edit,就地修改文件 -r 表示搜索子目录 -l 表示输出匹配的文件名 s表示替换,d表示删除 示例:...
vi/vim 文件查找与替换
热门推荐
cbaln0的博客
02-27
11万+
vim有着强大的替换和查找功能,若能进行熟练的运用,可以让工作效率得到一个很大程度的提高.
替换
语法:[addr]s/源字符串/目的字符串/[option]
[addr]表示检索范围,如:
"1,n":表示从第1行到n行
"%":表示整个文件,同"1,$"
".,$":表示从当前行到文件尾
[addr]省略时表示当前行
s:表示替换操作,其为substitute的缩写
[optio...
sed命令用法
bansonglou1485的博客
06-28
145
[root@www ~]# sed [-nefr] [动作]
选项与参数:
-n :使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN 的数据一般都会被列出到终端上。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来。
-e :直接在命令列模式上进行 sed 的动作编辑;
-f :直接将 sed 的动作写在一个文件内, ...
linux sed不起作用,Linux:sed工具
weixin_42398056的博客
05-13
1952
1.什么是sed工具sed意为流编辑器(Stream Editor),在Shell脚本和Makefile中作为过滤器使用非常普遍,也就是 把前一个程序的输出引入sed的输入,经过一系列编辑命令转换为另一种格式输出。sed和vi都源于 早期UNIX的ed工具,所以很多sed命令和vi的末行命令是相同的。sed命令行的基本格式为:sed option 'script' file1 file2 ...s...
linux sed awk grep cut的用法
最新发布
07-08
当在Linux中处理文本数据时,sed、awk、grep和cut是常用的命令工具。以下是它们的简单用法示例:
1. sed:用于文本流的编辑和转换。
- 替换文本中的字符串:
```
sed 's/old_string/new_string/g' file.txt
```
- 删除包含特定字符串的行:
```
sed '/pattern/d' file.txt
```
2. awk:用于处理文本数据并生成报告。
- 根据字段进行操作和打印特定行:
```
awk -F',' '{if ($1 == "value") print $0}' file.txt
```
- 计算列的总和或平均值:
```
awk '{sum += $1} END {print sum}' file.txt
```
3. grep:用于在文件中搜索匹配的模式。
- 搜索包含特定字符串的行:
```
grep "pattern" file.txt
```
- 搜索特定文件类型的文件:
```
grep "pattern" *.txt
```
4. cut:用于从文本中提取特定字段。
- 提取文件中的第一列:
```
cut -d',' -f1 file.txt
```
- 提取文件中的指定字符范围:
```
cut -c1-5 file.txt
```
这些命令都有更多高级选项和功能,可以根据具体需求查阅它们的文档以获得更详细的使用说明。
“相关推荐”对你有帮助么?
非常没帮助
没帮助
一般
有帮助
非常有帮助
提交
Lvan的前端笔记
CSDN认证博客专家
CSDN认证企业博客
码龄5年
前端领域优质创作者
772
原创
7498
周排名
1172
总排名
108万+
访问
等级
1万+
积分
8080
粉丝
875
获赞
366
评论
1878
收藏
私信
关注
试试用AI创作助手写篇关于[linux...]、[perl]、[运维]的文章吧
用AI写文章
热门文章
vue:详解vue中的代理proxy
59728
引入echars5.0报错“export ‘default‘ (imported as ‘echarts‘) was not found in ‘echarts‘
34332
浏览器缓存:memory cache、disk cache、强缓存协商缓存等概念
23435
小程序:使用获取手机号getPhoneNumber报错getPhoneNumber:fail no permission
21313
ts:报错Could not find a declaration file for module xxx
20248
分类专栏
前端
js
67篇
vue
70篇
react
27篇
小程序
54篇
微前端
8篇
app & react native
50篇
android
18篇
ios
19篇
前端工程化
18篇
typescript
16篇
css
35篇
seo
6篇
数据可视化
4篇
uni-app
1篇
前端-未分类
35篇
后端
nodeJS
36篇
java
44篇
PHP
20篇
python
1篇
c/c++
1篇
后端-未分类
5篇
运维
linux
39篇
docker
17篇
nginx
4篇
git
7篇
gitlab
6篇
shell
2篇
运维-未分类
7篇
数据库
mysql
32篇
mongodb
8篇
redis
3篇
数据库-未分类
2篇
测试
1篇
架构
14篇
人工智能
1篇
计算机基础
算法&数据结构
30篇
计算机网络
8篇
设计模式
2篇
网络安全
3篇
mac装机系列
20篇
随笔
11篇
翻译
5篇
杂物篇
3篇
博客搭建系列
1篇
面试题
5篇
常用工具
4篇
English
3篇
最新评论
前端构建工具大盘点:gulp、webpack、vite、rollup、esbuild、snowpack、babel、parcel、swc、tsc
Lvan的前端笔记:
webpack vite
前端构建工具大盘点:gulp、webpack、vite、rollup、esbuild、snowpack、babel、parcel、swc、tsc
清蒸鱼跃龙门:
那你现在用的是什么?
微前端:qiankun的两种运作模式
美酒没故事°:
micro-app感觉好点,基于原生的web components
vue:详解vue中的代理proxy
Lvan的前端笔记:
你这个问题我没看懂,首先不是默认调用localhost域名,你本地启动的服务,肯定调用的localhost域名,再加上你在本地用node做了代理,所以本地会走代理,但是到了线上,你node就不生效了(因为node只是做了打包),所以线上调接口就调用的是线上的域名(因为你代码中写的是相对路径),如果你线上不想调用线上的域名,想自己指定域名,那么就要在代码中明确指出
设计模式:DDD领域驱动设计
CSDN-Ada助手:
恭喜你这篇博客进入【CSDN月度精选】榜单,全部的排名请看 https://bbs.csdn.net/topics/616346799。
您愿意向朋友推荐“博客详情页”吗?
强烈不推荐
不推荐
一般般
推荐
强烈推荐
提交
最新文章
java:解析XML文件
java:Spring JDBC Template
java:数据库连接池
2023
08月
8篇
07月
2篇
06月
1篇
05月
13篇
04月
18篇
03月
14篇
02月
15篇
2022年92篇
2021年262篇
2020年198篇
2019年154篇
目录
目录
分类专栏
前端
js
67篇
vue
70篇
react
27篇
小程序
54篇
微前端
8篇
app & react native
50篇
android
18篇
ios
19篇
前端工程化
18篇
typescript
16篇
css
35篇
seo
6篇
数据可视化
4篇
uni-app
1篇
前端-未分类
35篇
后端
nodeJS
36篇
java
44篇
PHP
20篇
python
1篇
c/c++
1篇
后端-未分类
5篇
运维
linux
39篇
docker
17篇
nginx
4篇
git
7篇
gitlab
6篇
shell
2篇
运维-未分类
7篇
数据库
mysql
32篇
mongodb
8篇
redis
3篇
数据库-未分类
2篇
测试
1篇
架构
14篇
人工智能
1篇
计算机基础
算法&数据结构
30篇
计算机网络
8篇
设计模式
2篇
网络安全
3篇
mac装机系列
20篇
随笔
11篇
翻译
5篇
杂物篇
3篇
博客搭建系列
1篇
面试题
5篇
常用工具
4篇
English
3篇
目录
评论
被折叠的 条评论
为什么被折叠?
到【灌水乐园】发言
查看更多评论
添加红包
祝福语
请填写红包祝福语或标题
红包数量
红包个数最小为10个
红包总金额
红包金额最低5元
余额支付
当前余额3.43元
前往充值 >
需支付:10.00元
取消
确定
下一步
知道了
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝
规则
hope_wisdom 发出的红包
打赏作者
Lvan的前端笔记
你的鼓励将是我创作的最大动力
¥1
¥2
¥4
¥6
¥10
¥20
扫码支付:¥1
获取中
扫码支付
您的余额不足,请更换扫码支付或充值
打赏作者
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额
抵扣说明:
1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。
余额充值