regex - 防弹文字

标签 regex linux bash awk sed

我不知道发生了什么,但是面对一系列文本文件,grep、awk、sed 已经被阉割了。简而言之,它们将不起作用。我无法使用经过验证的个人和公开示例在 awk 范围内进行模式匹配。我无法让 sed 使用 p 或 i 选项,但 s 仍然有效。 awk 和 sed 都有奇怪的行为,无论模式是否匹配,都会简单地打印所有内容。 grep 会找到一个词(通过正则表达式或字符串),但如果我去排除这个词 (-v),它会删除所有内容。我的意思是一切。

我不认为粘贴代码会有用,但我可以接受。我认为粘贴文本也行不通。

是否有一些 super secret 设置使这些程序变得愚蠢?我已经确保所有内容都保存在 utf-8 中,并且已经运行 tr -d '\r\n' 及其对所有内容的排列。这是一个 linux 盒子,我正在用头撞 table 。

所有这些都是在使用 BASH 的 linux 环境中完成的。

有什么想法吗?

最佳答案

@GordonDavisson 似乎已经成功了。你的tr -d '\r\n'把你的文件变成一长行,没有结束换行符,所以你应该期待 grep -v <something that appears in the file> [充其量] 不输出任何内容,因为所有内容都在一行中,虽然有些人会尽力而为,但您甚至不应该期望 UNIX 工具能够处理它,因为它不是没有结束换行符的有效文本文件.看:

$ cat file
the
quick
brown
dog
$ grep bro file
brown
$ grep -v bro file
the
quick
dog

$ tr -d '\r\n' < file > file2

$ cat file2
thequickbrowndog$
$ grep bro file2
thequickbrowndog
$ grep -v bro file2
$

不确定你想用那个 tr 实现什么所以不确定现在建议您如何处理该文件。

关于regex - 防弹文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32042523/

相关文章:

linux - 如何使 BASH 脚本仅在特定目录中运行?

regex - Postgresql:无效的正则表达式:无效的反向引用号

linux - 自动启动 midori 浏览器在 Raspberry pi 上不起作用

linux - 使用 Go 和 './...' 构建所有代码

linux - 我如何在远程 linux 服务器上运行 bash

bash - 喂 awk 位置参数

bash - 使用 "filename:line"语法打开文件

java - 简单英语的正则表达式

python - 从 Pandas 数据框中过滤所需行的正则表达式

python - 使用正则表达式检测具有 if 语句的 jinja2 变量 - python