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

Linux下的shell编程 如何替换文件中的内容,第1张

可以这样做:

方法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、重定向标准输出和标准错误:&>  将标准输出、标准错误信息全部保存到指定文件,而不是直接显示在屏幕上。

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、打开文件后,进入一般模式(即没烂态明法修改文件的模式)

2、输入

:1,$s/word1/word2/g

指从第一行到最后一行,将word1换为饥告word2

3、可以在g后面加上字母c,这样替闭枯换前都需要用户确认。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12298067.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存