我有一个大报告,其中有许多随机行显示的 IP 地址。所有 IP 地址都以 192.168 开头。我只想提取 IP 地址并获得如下所示的报告:
192.任何事.任何事.任何事
192.xx.xx.xx
192.xx.xx.xx
没有别的。我试过cat filename | grep -w 192
似乎得到了整条线。我只想要完整的 IP 地址。我感谢您可以与我分享的任何信息。
/path/to/fname#line1242
Run Code Online (Sandbox Code Playgroud)
有没有办法将文件中的特定行号作为路径名的一部分引用,或者以某种方式将链接打包到看起来/行为像路径名的行号?例如,将上面的字符串提供给同一文件系统的另一个用户,以便他们可以轻松打开我的文件“fname”并立即位于其中的第 1242 行。
我正在考虑类似于 HTML 锚点的行为,它可以包含在页面的 URI 中,然后表现得就像链接一样。也就是说,它们可以提供给同一文件系统的其他用户,并向这些用户指示文件中的给定行,默认情况下打开文件到该行。我意识到在 UNIX 中,唯一真正可以成为路径名一部分的东西可能是目录、文件和伪文件。但是,还有 glob、字符串扩展等,它们严格来说并不是路径名的一部分,但可以“舒适地”插入其中,而文件名可以被传递和引用,而不需要任何额外的命令。是否有一种内联方法可以模拟 UNIX 文件的锚点/链接行为?
我可以在我的“路径名”中包含命令替换和sed "1242p"某种自引用,但随后我不再处理路径名,而只是处理文件上的命令。想一想,那么我就不会链接,只是提取一行。我根本想不出链接到特定行的方法(不忽略文件的其余部分)。
GNU bash,版本 3.2.51
抨击 GNU:
我正在使用一组find命令,其中大部分-regex用于进行匹配。每次我在正则表达式中尝试不同的功能时,我都必须循环浏览这些值,-regextype直到一个工作正常为止。在这种情况下,我特别需要一个支持负面后视的人。很难验证我对这个功能的测试的(零)结果,所以我想简单地参考一个列表,而不是重复不断增加的一系列测试。
我已经找到了Javascript和其他平台的许多参考不支持负回顾后,但我似乎无法找到那些中央的位置做。
很高兴在某处看到一个图表,列出了许多流行的正则表达式样式以及它们支持和不支持的功能,但我也找不到。
我想对几束文件中的每一束执行相同的聚合操作,其中每一束都与一个 glob 模式匹配。我不想做的是将每个文件名分别通过管道传输到聚合函数中。
我的第一次尝试失败了,因为文件名在外循环中被打乱,将整个集合展平为一个平面列表,而不是将它们视为单独的批次:
for fileglob in /path/to/bunch*1 /path/to/bunch*2 ... ; do
stat "$fileglob" | awk [aggregation]
done
Run Code Online (Sandbox Code Playgroud)
所以我*通过转义它从循环中隐藏了它,然后为函数取消了它:
for fileglob in /path/to/bunch*1 /path/to/bunch*2 ... ; do
realglob=`echo "$fileglob" | sed 's/\\//g'`
stat "$realglob" | awk [aggregation]
done
Run Code Online (Sandbox Code Playgroud)
一定有更好的方法。它是什么?
GNU bash,版本 3.2.51