linux编辑替换命令 linux常用命令 替换

Linux下的shell编程 如何替换文件中的内容可以这样做linux编辑替换命令:
方法1linux编辑替换命令:sed -i 's/被替换linux编辑替换命令的内容/要替换成的内容/' file
方法2:sed 's/被替换的内容/要替换成的内容/g' filefile.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下vim编辑器命令大全 vim可以分为三种状态,分别是 命令行模式(command mode) 、 输入模式(Insert mode) 和 底行模式(last line mode) ,这 3 种工作模式可随意切换,如下图所示 。
使用vim编辑文件时,默认处于命令行模式 。此模式下,可使用方向键(上、下、左、右键)或 k、j、h、i 移动光标的位置,还可以对文件内容进行复制、粘贴、替换、删除等操作 。
下图所示是vim处于命令行模式的状态示意图 。
在输入模式下,vim可以对文件执行写操作,类似于在Windows系统的文档中输入内容 。
使vim进行输入模式的方式是在命令模式状态下输入 i 、 I 、 a 、 A 、 o 、 O 等插入命令(各指令的具体功能下表所示),当编辑文件完成后按 esc 键即可返回命令模式 。
下图所示为vim处于输入模式模式下的示意图 。
底行模式用于对文件中的指定内容执行保存、查找或替换等操作 。
使vim切换到底行模式的方法是在 命令行模式 状态下按 : 键(注意是英文符号),此时vim窗口的左下方出现一个 : 符号 , 这是就可以输入相关指令进行操作了 。
指令执行后vim会自动返回命令行模式 。如想直接返回命令行模式,按 esc 即可 。
下图所示为vim进入底行模式后的状态 。
对于新手来说,经常不知道自己处于什么模式 。不论是自己忘了 , 还是不小心切换了模式 , 都可以按一次 esc 键返回命令行模式 。如果你多按几次 esc 键后听到"嘀————"的声音,则代表你已经处于命令行模式了 。
打开文件
打开文件时光标处于文件尾部
打开文件时,光标定位到第几行
字符移动
这些移动键都可以加上数字(5h:向左移动5个字符格)
单词移动
行内跳转
行间移动
在底行模式下 , 直接给出行号 , 实现跳转
用法:起始地址,结束地址 s@要替换内容@替换后内容@gi(@分隔符)
例:1,$s/a/A/g把文件中全部的a换替换成A , 全局替换
显示取消行号
设定自动缩进(写脚本时)
查找到的文本高亮显示
语法高亮
/etc/vimrc:全局配置文件,永久有效
~/.vimrc:个人配置文件,每个用户的家目录中,若不存在,手动创建
对于第一次用vim的童鞋,有几点需要提醒一下:
linux之文本内容替换命令sedsed简介:流编辑工具,用来对文本进行过滤与替换操作 。
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 sed 替换 Linux sed 命令是利用脚本来处理文本文件 。
sed 可依照脚本的指令来处理、编辑文本文件 。
Sed 主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等 。
语法
参数说明:
regular_express.txt 文件内容如下:
利用 sed 将 regular_express.txt 内每一行结尾若为 . 则换成 !
:q:q
利用 sed 直接在 regular_express.txt 最后一行加入 # This is a test:
由於 $ 代表的是最后一行,而 a 的动作是新增,因此该文件最后新增 # This is a test!
sed 的 -i 选项可以直接修改文件内容,这功能非常有帮助!举例来说 , 如果你有一个 100 万行的文件,你要在第 100 行加某些文字,此时使用 vim 可能会疯掉!因为文件太大了!那怎办?就利用 sed ?。⊥腹?sed 直接修改/取代的功能,你甚至不需要使用 vim 去修订!
sed -i 常见用法(直接对文本文件进行操作的)
替换掉每行的第一个字符串
替换掉所有的字符串 sed -i 's/原字符串/新字符串/g' file
去掉 “行首” 带“@”的首字母@
特定字符串的行前插入新行
特定字符串的行后插入新行
特定字符串的删除
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' `grepCANCEL_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-8testutf8.dat
---把test.dat中的欧元符号替换成竖线,再将文件gbk格式转成utf8
-i选项是直接在文件中替换,不在终端输出;
-r选项是所给的path中的目录递归查找;
-l选项是输出所有匹配到oldstring的文件;
s/表示替换
/g表示全局替换
总结linux替换字符串的几种方法一)通过vi编辑器来替换 。
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 行开始到最后一行中每一行所有 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
(二)直接替换文件中的字符串 。(此法不用打开文件即可替换字符串,而且可以批量替换多个文件 。)
1.perl命令替换,参数含义如下:
-a自动分隔模式,用空格分隔$_并保存到@F中 。相当于@F = split ” 。分隔符可以使用-F参数指定
-F指定-a的分隔符,可以使用正则表达式
-e执行指定的脚本 。
-i扩展名原地替换文件,并将旧文件用指定的扩展名备份 。不指定扩展名则不备份 。
-l对输入内容自动chomp , 对输出内容自动添加换行
-n自动循环,相当于 while() { 脚本; }
-p自动循环 自动输出,相当于 while() { 脚本; print; }
用法示例:
perl -p -i.bak -e 's/\bfoo\b/bar/g' *.c
将所有C程序中的foo替换成bar,旧文件备份成.bak
perl -p -i -e "s/shan/hua/g" ./lishan.txt ./lishan.txt.bak
将当前文件夹下lishan.txt和lishan.txt.bak中的“shan”都替换为“hua”
perl -i.bak -pe 's/(\d )/ 1$1 /ge' file1 file2
将每个文件中出现的数值都加一
2.sed命令下批量替换文件内容
格式: sed -i "s/查找字段/替换字段/g" `grep 查找字段 -rl 路径` 文件名
-i 表示inplace edit,就地修改文件
-r 表示搜索子目录
-l 表示输出匹配的文件名
s表示替换 , d表示删除
示例:sed -i "s/shan/hua/g"lishan.txt
把当前目录下lishan.txt里的shan都替换为hua各个Linux详细命令介绍及应用可如下进行查找
【linux编辑替换命令 linux常用命令 替换】linux编辑替换命令的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux常用命令 替换、linux编辑替换命令的信息别忘了在本站进行查找喔 。

    推荐阅读