- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有下面的示例文件
d41d8cd98f00b204e9800998ecf8427e /home/abid/Testing/FileNamesTest/apersand $ file
d41d8cd98f00b204e9800998ecf8427e /home/abid/Testing/FileNamesTest/file[with square brackets]
d41d8cd98f00b204e9800998ecf8427e /home/abid/Testing/FileNamesTest/~$tempfile
017a3635ccb76250b2036d6aea330c80 /home/abid/Testing/FileNamesTest/FileThree
217a3635ccb76250b2036d6aea330c80 /home/abid/Testing/FileNamesTest/FileThreeDays
d41d8cd98f00b204e9800998ecf8427e /home/abid/Testing/FileNamesTest/single quote's
我想 grep 文件的最后一部分(文件名),但我正在寻找行的最后一部分(文件名)的精确匹配
grep FileThree$ files.md5
017a3635ccb76250b2036d6aea330c80 /home/abid/Testing/FileNamesTest/FileThree
返回完全匹配项,但没有找到我要查找的“FileThreeDays”,但由于某些文件名包含方括号,因此我不得不使用 grep -F 或 fgrep。但是,像上面那样使用 fgrep 不起作用,它什么也不返回。
我怎样才能使用 fgrep 精确匹配行的最后一部分,同时仍然尊重上面的特殊字符 ~/$/'/[ ] 等...或任何其他可能使用 awk 的方法...
进一步....
在不返回这两个文件的情况下使用 fgrep 我只想要完全匹配(将上面的 $ 与 grep 一起使用),但是 $ 与 fgrep 不返回任何内容。
grep -F FileThree files.md5
017a3635ccb76250b2036d6aea330c80 /home/abid/Testing/FileNamesTest/FileThree
217a3635ccb76250b2036d6aea330c80 /home/abid/Testing/FileNamesTest/FileThreeDays
最佳答案
我无法从你的问题中说出所有细节,但听起来你可以使用 grep 并只转义特殊字符:grep 'File\[Three\]Days$'
不过,如果你想使用 fgrep
,你可以使用一些 tr
技巧来帮助你。如果你想要的只是文件名(没有目录名),你可以做类似的事情
cat files.md5 | tr '/' '\n' | fgrep FileThreeDays
那个 tr
命令用换行符替换斜杠,所以它会将每个文件名放在自己的行上。这意味着 fgrep
只会在搜索 FileThreeDays 时找到文件名。
如果你想要带目录的完整文件名,这有点棘手,但类似的方法会奏效。假设 SHA 和文件名之间总是有一个双空格,并且没有任何文件名中有双空格或制表符,您可以尝试这样的操作:
sed 's/ /\t' files.md5 | tr '\t' '\n' | fgrep FileThreeDays
sed
命令将双空格转换为制表符。 tr
命令将这些制表符变成换行符(与上面的技巧相同)。
关于bash - grep(fgrep) bash 精确匹配行尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30558459/
我正在尝试使用 opencsv 库将 SQL 结果集导出到以逗号分隔的 csv 文件。但是,当我将结果集传递给 writeAll 函数时,除了它生成的文件不会用新行分隔行并在记事本中打开时创建一个几乎
所以我有一个包含混合行结尾的文件。我只需要删除 linux 换行符 (LF),但只保留 Windows 行结尾 (RFLF)。任何可以做到这一点的快速 bash one liner? 最佳答案 如果要
所以我有一个包含混合行结尾的文件。我只需要删除 linux 换行符 (LF),但只保留 Windows 行结尾 (RFLF)。任何可以做到这一点的快速 bash one liner? 最佳答案 如果要
嗨,我正在尝试将行尾代码以 CSV 格式放入,以将其导入到 Excel 我尝试放入 \n、“\n”、\r、“\r”、\r\n、“\r\n”但对我没有任何作用我试图将其导入 excel 2013 我的
while ((client = accept(sock, (struct sockaddr *) &c, (socklen_t *) &clientlength)) > 0) { int h =
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
我正在从 LINUX(Debian) 读取一个 ASCII 文件到 Python CGI 脚本中,然后通过网页对其进行编辑然后保存, 如果我使用图形文本编辑器,编辑和未编辑的文件看起来是一样的,并且格
我有一个包含 n 列 y 行二进制值的文本文件。 我正在使用 getline 提取二进制值的每一行并将它们分配给 vector : 我正在使用 getline 提取文件的每一行,其中每一行由一系列由空
这个行尾问题让我抓狂... 背景:过去,我使用的是 core.autocrlf 设置,但我发现我遇到了不同的存储库表现不佳的问题(我在 Windows 上工作,我有一些需要 LF 结尾的存储库和一些需
我们有大量在不同平台上使用 CVS 的程序员。 我们有开发人员使用带 TortoiseCVS 的 Windows(它使用 cvsNT) 我们有开发者使用 ubuntu 8.04 我们的开发人员有两个盒
目前,我正在使用以下命令来更改 dos2unix 行尾,但这是针对 file-y 文件... sed -i 's/\r//' filename 有没有办法对目录中的所有文件运行此命令? 最佳答案 fo
我正在尝试将换行符 append 到已存在的文件中,但我尝试过的所有命令都导致仅 append 到第一行。我希望文件中的输出看起来像 行1 行2 private void addToFavToFil
我正在尝试将文件中的文本读入数组,然后将每个数组索引的内容输出到输出文件。我需要读取/存储数据直到它到达行尾,此时它应该重新开始读取/存储并重新使用数组进行临时存储,只输出到输出文件。 我不能使用 g
我在 PC 上安装了 Linux Mint,然后从 Bitbucket 克隆了 git 存储库以在其上运行。经过一些更改后,我确实在我的 PhpStorm ide 中提交了。在此提交期间,git 向我
我正在阅读有关 gcc 预处理的文档,我阅读了以下句子 ( here ): If the last line of any input file lacks an end-of-line marker
我们所有的开发人员都在 Windows 机器上工作,而构建是在 Linux 上完成的。 为了符合真正的方式,我们决定标准化行结尾并遵循场景 described on GitHub . 后来发现,有时从
出于某些原因,我的一个文件包含旧样式的mac行结尾(在osx上编辑后)。这些是“CR”(回车)字符,在git diff中显示为^m。 git不理解它们是行尾代码(真的有多难?)并将整个文件解释为一行。
为什么这段代码不起作用? b if b = true 错误:未定义局部变量或方法“b” 但是这样做: if b = true b end 他们不应该是一样的吗? 最佳答案 这是一个很好的问题。
我正在 checkout 具有Linux样式行结尾的文件(仅LF char)。当我在Windows中使用TortoiseSVN checkout 文件时,它将行尾转换为Windows样式(CR + L
我有一个 Windows 文本文件,其中包含一行(以 CRLF 结尾) aline 以下是几个命令的输出: [root@panel ~]# grep aline file.txt aline [roo
我是一名优秀的程序员,十分优秀!