Unix 使用find和replace cmd修改grep输出
我使用grep将日志大文件分为小文件,但输出日志文件中仍然有很长的dir路径,这在每次都很常见。我每次都要查找和替换日志文件Unix 使用find和replace cmd修改grep输出,unix,Unix,我使用grep将日志大文件分为小文件,但输出日志文件中仍然有很长的dir路径,这在每次都很常见。我每次都要查找和替换日志文件 我有没有办法grep-r“格式化”log.log |执行findnreplce事情?Sed会做你想做的事。用$file中的bar替换foo的所有匹配项的基本语法为: sed-i's/foo/bar/g'$file 如果您只是想删除而不是替换,只需省略“bar”(因此s/foo//g) 有关更多详细信息,请参见,例如正则表达式支持 sed -n '/match/s/patt
我有没有办法grep-r“格式化”log.log |执行
findnreplce
事情?Sed
会做你想做的事。用$file中的bar替换foo的所有匹配项的基本语法为:
sed-i's/foo/bar/g'$file
如果您只是想删除而不是替换,只需省略“bar”(因此s/foo//g)
有关更多详细信息,请参见,例如正则表达式支持
sed -n '/match/s/pattern/repl/p'
将打印与regexmatch
匹配的所有行,并将模式的所有实例替换为repl
。因为您的行可能包含路径,所以可能需要使用不同的delimeter<代码>/
是惯例,但您也可以执行以下操作:
sed -n '\@match@s@@repl@p`
在第二种情况下,省略
pattern
将导致match
用于替换模式。grep
在文件上使用递归标志毫无意义。如果提供了足够的信息,您可以尽可能使用-o
选项来grep
。