Linux上的Grep - 如何用空格和换行符替换文本

时间:2013-12-28 17:01:32

标签: regex grep

我不习惯通过终端在linux上使用grep。我习惯在windows上使用dnGREP,但是在我发现的ubuntu上没有类似的gui工具。

如何将正则表达式“ ^(。*?)[”与文件夹中的所有文件相匹配,并将其替换为空格?

我认为这个会采用相同的方法“](?= [^。] * $)

另外,如何替换下面的文字以添加新行

{"dev_is_looking_week"

下面有相同的文字和4个空白行。忽略“。”在末尾。 StackOverflow不会在最后没有字符的情况下显示空白换行符。

{"dev_is_looking_week"



.

2 个答案:

答案 0 :(得分:1)

您使用的是错误的工具。 grep用于选择数据。您可能希望改为使用awkperlsed

一些例子:

awk '/example/ {print; print "\n\n\n\n"; }'
awk '{print;} /example/ {print "\n\n\n\n"; }'
perl -ne 'print $_; /example/ && print "\n\n\n\n"'

请注意,perl还具有整齐的-i选项,用于文件的原位修改,当您必须对大量文件进行此更改时,它会派上用场。

或者您可以选择来自KDE的regexxerredetkregexpeditor

答案 1 :(得分:0)

您可以像这样使用sed:

sed 's/{"dev_is_looking_week"/&\n\n\n\n/' file

或使用awk:

awk '/{"dev_is_looking_week"/{$0=sprintf("%s\n\n\n\n", $0)} 1'