总结linux替换字符串的几种方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了总结linux替换字符串的几种方法相关的知识,希望对你有一定的参考价值。
参考技术A 换个角度,替换/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就可以被排除了。 参考技术B 实现目录文百件递归替换:
1、find目录下的所有文件内容度脚本
#!/bin/bash
str=xx
#原文字符串知
cstr=yy#替换成的字符串
dir=/home/test#指定目录道
for
i
in
`find
$dir
-type
f
`
do
if
grep
$str
$i
#测试原文字符串
linux下删除空行的几种方法
在查看linux下的配置文件时,为了便于一目了然的查看,经常会删除空行和#头的行。而linux在删除空行的方法很多,grep、sed、awk、tr等工具都能实现。现总结如下:
1、grep
grep -v ‘^$‘ file
2、sed
sed ‘/^$/d‘ file 或 sed -n ‘/./p‘ file
3、awk
awk ‘/./ print‘ file 或 awk ‘if($0!=" ") print‘
4、tr
tr -s "n"
除此之外,vim也可以在查看时。通过命令模式删除空行。vim在命令模式下输入:
%s/^n//g
意思是全局替换所有以回车开头的字符,替换为空。如果有多个连续的空行,想保留一行。则只需在命令行模式输入下行即可:
%s/^n$//g
以上是关于总结linux替换字符串的几种方法的主要内容,如果未能解决你的问题,请参考以下文章