Linux 统计某个字符串出现的次数
grep -r "{关键字}" {路径}
例如:
grep -r "test" /data/reports
要统计一个字符串出现的次数,这里现提供自己常用两种方法:
1. 使用vim统计
用vim打开目标文件,在命令模式下,输入
1:%s/objStr//gn
即可
2. 使用grep:
1grep -o objStr filename|wc -l
如果是多个字符串出现次数,可使用:
1grep -o ‘objStr1|objStr2' filename|wc -l #直接用| 链接起来即可
grep -o '需要匹配的字符串' 文件名 | wc -l
查询文件中 某个字符串出现的次数
grep -o 一条数据里面有多个相同linux sed 替换字符串,会统计相同的次数
grep一条数据里面有多个相同,会统计一次次数
linux替换目录下所有文件中的某字符串
比如,要将目录/modules下面所有文件中的zhangsan都修改成lisi,这样做:
sed -i “s/zhangsan/lisi/g” grep zhangsan -rl /modules
解释一下:
-i 表示inplace edit,就地修改文件
-r 表示搜索子目录
-l 表示输出匹配的文件名
这个命令组合很强大,要注意备份文件
使用sed命令可以进行字符串的批量替换操作,以节省大量的时间及人力;
使用的格式如下:
1
sed -i “s/oldstring/newstring/g” grep oldstring -rl path
其中,oldstring是待被替换的字符串linux sed 替换字符串,newstring是待替换oldstring的新字符串雨林木风linux,grep操作主要是按照所给的路径查找oldstring,path是所替换文件的路径;
-i选项是直接在文件中替换linux手机,不在终端输出;
-r选项是所给的path中的目录递归查找;
-l选项是输出所有匹配到oldstring的文件;
实例:
替换指定文件的字符串
sed -i “s/oldstring/newstring/g” filename
sed -i “s/6/sk/g” ./test01.txt
字符串替换批量文件操作
sed -i “s/6/sk/g” grep 6 -rl /home/work/test
sed -i “s/6/sk/g” grep 6 -rl /home/work/test/*.sh