gpt4 book ai didi

ubuntu - 无法在 Ubuntu 中 grep 文件,匹配的行是空白的?

转载 作者:行者123 更新时间:2023-12-04 19:21:12 25 4
gpt4 key购买 nike

我有一个由 bash 脚本解析的 CSV 文件,以便在文件中找到给定 ID 的位置,作为通过 JMeter 跟踪进度的一种方式。

我遇到问题的特定行包含以下代码:

egrep -n -C 2 '49156$'

以前我运行脚本没有问题,但是我认为字符编码或结束行字符发生了一些有趣的事情。现在,当我运行这条线时,我没有返回。

如果我更改正则表达式以检查额外字符,例如 '49156.$'然后我在 OSX 和 Ubuntu 中得到以下信息:

OSX:
1307-node/49150
1308-node/49153
1309:node/49156
1310-node/49159
1311-node/49162

Ubuntu:
1307-node/49150
1308-node/49153

1310-node/49159
1311-node/49162

我需要脚本在 Ubuntu 服务器上运行,所以我真的需要让它在上面运行,但是正如我所说,脚本在以前的 CSV 上运行良好,我真的不确定这个最新的 CSV 是如何改变的.

如果我使用 :set list 查看 VIM 中的文件我看到以下内容:
node/49153$
node/49156$
node/49159$
node/49162$
node/49165$

我想检查数字 block 而不是结束行字符,使用模式: '49156[^0-9]'但是这仍然会产生相同的结果:
1307-node/49150
1308-node/49153

1310-node/49159
1311-node/49162

除了上述之外,我不确定接下来要测试什么。感谢您的任何建议:)

最佳答案

听起来您的文件可能正在使用 CRLF(回车 + 换行)作为行尾,而不仅仅是 LF(换行)。 (例如,如果您的文件曾经在 Windows 机器上编辑过,这可能会发生。)所以,我建议运行 dos2unix在它上面,删除任何杂散的回车,看看是否可以解决它。

关于ubuntu - 无法在 Ubuntu 中 grep 文件,匹配的行是空白的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18264849/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com