㈠ linux里面怎么用sed命令修改文本的指定内容
我也给个思路吧 —— 用sed根据地址范围截取文件内容,用Here documents方法添加新的多行内容,然后重组文件。具体步骤如下:1)截取test.xml文件起始行到<abcdef>行,保存到tmp文件;2)将要添加的内容根据变量值展开,附加写入tmp文件;3)截取test.xml文件</abcdef>行到结束行,附加写入tmp文件。4)移动tmp文件覆盖test.xml文件。
㈡ linux 如何使用sed 更改整个文件夹里面包含的文件的数据
linux文件命名最好不要有空格。如果有空格的话,将完整文件名用引号包含起来,如"Auto eth"或'Auto eth'。for file in "Auto ethX"/*do sed … "$file"done 如果X是不确定的,那么可以用 "Auto eth"*/*
㈢ 怎么用sed命令修改文件属性
你这不是修改文件属性,而是修改文件内容。sed -i 's/192.168.0.234/192.168.1.245/g' iptvphone.cfg
㈣ Linux中的sed是什么意思呢,如何使用呢
Sed是一项Linux指令,全称是Stream EDitor,功能同awk类似,差别在于,sed简单,对列处理的功能要差一些,awk的功能复杂,对列处理的功能比较强大。Sed主要用于自动编辑一个或者多个文件,多用于脚本中对文件的处理。Sed命令可以对文件进行增加、删除、修改和查找操作,所以学好sed命令是写自动化脚本必须的基础之一。调用sed命令有两种形式:sed [options] 'command' file(s)sed [options] -f scriptfile file(s)sed命令主要选项-e command,–expression=command允许多台编辑。-h,–help打印帮助,并显示bug列表的地址。-n,–quiet,–silent取消默认输出。-f,–filer=script-file引导sed脚本文件名。-V,–version打印版本和版权信息。命令:a\在当前行后面加入一行文本。b label分支到脚本中带有标记的地方,如果分支不存在则分支到脚本的末尾。c\用新的文本改变本行的文本。d 从模板块位置删除行。D 删除模板块的第一行。i\在当前行上面插入文本。h拷贝模板块的内容到内存中的缓冲区。H 追加模板块的内容到内存中的缓冲区。g 获得内存缓冲区的内容,并替代当前模板块中的文本。G 获得内存缓冲区的内容,并追加到当前模板块文本的后面。l 列表不能打印字符的清单。n 读取下一个输入行,用下一个命令处理新的行而不是用第一个命令。N 追加下一个输入行到模板块后面并在二者间嵌入一个新行,改变当前行号码。p 打印模板块的行。P 打印模板块的第一行。q 退出Sed。r file从file中读行。t labelif分支,从最后一行开始,条件一旦满足或者T,t命令,将导致分支到带有标号的命令处,或者到脚本的末尾。T label错误分支,从最后一行开始,一旦发生错误或者T,t命令,将导致分支到带有标号的命令处,或者到脚本的末尾。w file写并追加模板块到file末尾。W file写并追加模板块的第一行到file末尾。! 表示后面的命令对所有没有被选定的行发生作用。s/re/string 用string替换正则表达式re。= 打印当前行号码。# 把注释扩展到下一个换行符以前。
㈤ sed修改内容怎么做
echo $line | sed 's/$aaa/$bbb/g' >> $tmp这里使用双引号echo $line | sed "s/$aaa/$bbb/g" >> $tmp否则无法识别变量,当成字符串了sh -x yourshell可以查看到每行执行,你不写入tmp,看看过程就知道了
㈥ 可不可用sed批量修改文件中的多个内容
可以啊sed 's/b/a/g'g就是全部替换sed也可以写多个替换,用-e
㈦ awk或者sed 替换文件的内容
sed 里如果用变量,使用双引号sed -i "s/^HOSTNAME/HOSTNAME=$NAME/g" network或者隔离出来sed -i 's/^HOSTNAME/HOSTNAME='$NAME'/g' network
㈧ Linux下的shell编程 如何替换文件中的内容
可以这样做:
方法1:sed -i 's/被替换的内容/要替换成的内容/' file
方法2:sed 's/被替换的内容/要替换成的内容/g' file > file.out;mv file.out file。
(8)sed修改文件的内容扩展阅读:
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中怎么用sed命令更改文档指定内容
我也给个思路吧 —— 用sed根据地址范围截取文件内容,用Here documents方法添加新的多行内内容,然后重组容文件。具体步骤如下:1)截取test.xml文件起始行到<abcdef>行,保存到tmp文件;2)将要添加的内容根据变量值展开,附加写入tmp文件;3)截取test.xml文件</abcdef>行到结束行,附加写入tmp文件。4)移动tmp文件覆盖test.xml文件。
㈩ aix sed命令追加内容
用s命令替换我使用下面的这段文本做演示:$ cat pets.txtThis is my catmy cat's name is bettyThis is my dogmy dog's name is frankThis is my fishmy fish's name is georgeThis is my goatmy goat's name is adam把其中的my字符串替换成Hao Chen’s,下面的语句应该很好理解(s表示替换命令,/my/表示匹配my,/Hao Chen’s/表示把匹配替换成Hao Chen’s,/g 表示一行上的替换所有的匹配):$ sed "s/my/Hao Chen's/g" pets.txtThis is Hao Chen's catHao Chen's cat's name is bettyThis is Hao Chen's dogHao Chen's dog's name is frankThis is Hao Chen's fishHao Chen's fish's name is georgeThis is Hao Chen's goatHao Chen's goat's name is adam注意:如果你要使用单引号,那么你没办法通过’这样来转义,就有双引号就可以了,在双引号内可以用”来转义。再注意:上面的sed并没有对文件的内容改变,只是把处理过后的内容输出,如果你要写回文件,你可以使用重定向,如:$ sed "s/my/Hao Chen's/g" pets.txt > hao_pets.txt或使用 -i 参数直接修改文件内容:$ sed -i "s/my/Hao Chen's/g" pets.txt在每一行最前面加点东西:$ sed 's/^/#/g' pets.txt#This is my cat# my cat's name is betty#This is my dog# my dog's name is frank#This is my fish# my fish's name is george#This is my goat# my goat's name is adam在每一行最后面加点东西:$ sed 's/$/ — /g' pets.txtThis is my cat —my cat's name is betty —This is my dog —my dog's name is frank —This is my fish —my fish's name is george —This is my goat —my goat's name is adam —
未经允许不得转载:山九号 » sed修改文件的内容|Linux下的shell编程 如何替换文件中的内容