标签: regex

如何在 Vim 中删除所有不包含某个单词的行?

在vim中,我可以删除所有包含“price”这个词的行

:g /price/d
Run Code Online (Sandbox Code Playgroud)

如何删除所有不包含“价格”一词的行?

vim regex find-and-replace

178
推荐指数
3
解决办法
8万
查看次数

如何使用“查找”忽略某些文件名?

我最喜欢的 BASH 命令之一是:

find . -name '*.*' -exec grep 'SearchString' {} /dev/null \;
Run Code Online (Sandbox Code Playgroud)

它在当前目录下的所有文件的内容中搜索指定的 SearchString。作为开发人员,这有时会派上用场。

然而,由于我当前的项目和我的代码库的结构,我想通过不搜索包含“.svn”的目录中或下方的任何文件或任何文件来使此 BASH 命令更加高级以“.html”结尾

find 的 MAN 页面让我感到困惑。我尝试使用 -prune,它给了我奇怪的行为。为了仅跳过 .html 页面(开始),我尝试了:

find . -wholename './*.html' -prune -exec grep 'SearchString' {} /dev/null \;
Run Code Online (Sandbox Code Playgroud)

并没有得到我希望的行为。我想我可能错过了 -prune 的重点。你们能帮帮我吗?

谢谢

bash regex find

175
推荐指数
4
解决办法
16万
查看次数

如何使用sed匹配数字后跟一个点?

我正在尝试使用sed数字后跟一个点(例如3., 355.)和一个空字符串来替换所有模式。所以我尝试:

sed 's/\d+\.//g' file.txt
Run Code Online (Sandbox Code Playgroud)

但它不起作用。这是为什么?

regex sed

122
推荐指数
4
解决办法
13万
查看次数

从文本流中删除 ANSI 颜色代码

检查输出

perl -e 'use Term::ANSIColor; print color "white"; print "ABC\n"; print color "reset";'
Run Code Online (Sandbox Code Playgroud)

在文本编辑器(例如,vi)中显示以下内容:

^[[37mABC
^[[0m
Run Code Online (Sandbox Code Playgroud)

如何从输出文件中删除 ANSI 颜色代码?我想最好的方法是通过各种流编辑器来传输输出。

以下不起作用

perl -e 'use Term::ANSIColor; print color "white"; print "ABC\n"; print color "reset";' | perl -pe 's/\^\[\[37m//g' | perl -pe 's/\^\[\[0m//g'
Run Code Online (Sandbox Code Playgroud)

regex perl awk sed

116
推荐指数
8
解决办法
9万
查看次数

替换文本文件 ** 不带** 正则表达式

我需要用替换来替换文本文件中的一些文本。通常我会做类似的事情

sed -i 's/text/replacement/g' path/to/the/file
Run Code Online (Sandbox Code Playgroud)

问题是textreplacement都是包含破折号、斜线、黑斜线、引号等的复杂字符串。如果我转义所有必要的字符text,东西很快就会变得不可读。另一方面,我不需要正则表达式的强大功能:我只需要按字面意思替换文本即可。

有没有办法在使用某些 bash 命令的正则表达式的情况下进行文本替换?

编写一个执行此操作的脚本会相当简单,但我认为应该已经存在一些东西。

text-editing bash regex sed

97
推荐指数
4
解决办法
4万
查看次数

交替使用“|” 在 sed 的正则表达式中

我正在使用 sed,GNU sed 版本 4.2.1。我想使用交替“|” 子表达式中的符号。例如 :

echo "blia blib bou blf" | sed 's/bl\(ia|f\)//g'
Run Code Online (Sandbox Code Playgroud)

应该回来

" blib bou "
Run Code Online (Sandbox Code Playgroud)

但它返回

"blia blib bou blf".
Run Code Online (Sandbox Code Playgroud)

我怎样才能得到预期的结果?

regex sed

85
推荐指数
4
解决办法
11万
查看次数

如何使用 Google Chrome 或 IE 在网页中搜索正则表达式?

如何使用 Google Chrome 或 IE 在网页上搜索“foo|bar”等正则表达式?我知道“正则表达式搜索器”扩展名,但它对我不起作用。(当我点击斜线时什么也没有发生。)网上商店的评论表明这是许多用户的常见问题。

google-chrome regex

83
推荐指数
3
解决办法
6万
查看次数

使用正则表达式删除文件

我试图删除以 A 开头并以 2 个数字结尾的文件,但它没有做任何事情。
我试过的:

rm ^A*[0..9]2$
Run Code Online (Sandbox Code Playgroud)

我哪里错了?

unix bash regex rm

68
推荐指数
3
解决办法
12万
查看次数

Mac OS X 上 sed 中的换行符

我发现这\n在 Mac OS X 下的 sed中不起作用。具体来说,假设我想将由单个空格分隔的单词分成几行:

# input
foo bar
Run Code Online (Sandbox Code Playgroud)

我用,

echo "foo bar" | sed 's/ /\n/'
Run Code Online (Sandbox Code Playgroud)

但结果是愚蠢的,\n是逃不掉的!

foonbar
Run Code Online (Sandbox Code Playgroud)

在向谷歌咨询后,我找到了一个解决方法

echo 'foo bar' | sed -e 's/ /\'$'\n/g'
Run Code Online (Sandbox Code Playgroud)

看完文章,还是没明白是什么\'$'\n/g'意思。有人可以向我解释一下,或者是否有其他方法可以做到?谢谢!

mac bash regex sed macos

59
推荐指数
5
解决办法
6万
查看次数

在 Mac OS X 中重命名多个文件,批处理

我曾经通过重命名命令在 Linux 中重命名文件:

rename 's/old_pattern/new_pattern/g' *glob
Run Code Online (Sandbox Code Playgroud)

Mac OS X (Snow Leopard) 中是否有类似的东西?

regex batch command-line rename macos

58
推荐指数
4
解决办法
4万
查看次数

标签 统计

regex ×10

sed ×5

bash ×4

macos ×2

awk ×1

batch ×1

command-line ×1

find ×1

find-and-replace ×1

google-chrome ×1

mac ×1

perl ×1

rename ×1

rm ×1

text-editing ×1

unix ×1

vim ×1