regex - awk 正则表达式过滤中间字符串
问题描述
我想用 awk 过滤一些行。文件中的行:
Cached memory
Shared memory
/tmp
/data
/data/video
/var
/home
输出应该是:
/tmp
/data/video
/var
/home
困难的是 exclude non-started-with/
和 exclude /data/.*
,正则表达式/^((?!\/).)|^((?!\/data$))*/
不起作用,我应该如何编写 awk 表达式?谢谢。
解决方案
使用 perl 而不是 awk:
perl -lne 'print unless(/\/data$|^[^\/]/)' your_file
推荐阅读
- java - 从 XML 文件中读取值
- php - 使用 Paypal 在 PHP 中丢失 SESSION 变量
- java - 如何从 java.net 下载 OpenJDK 8 源代码
- python - Kivy 将图像作为按钮添加到另一个页面
- gradle - Xtext:无法解析对 JvmType MyGeneratorModule 的引用
- python - 图像中的文字是否为粗体?
- sass - 在主题引导程序 4 中覆盖默认的 $border-radius-lg 变量
- windows - Windows MongoDB 日志非常大
- c# - 如何编写一个映射函数,该函数接受一串 json 有效负载和另一串映射并返回一串映射数据
- swift - 如何使用 AVFoundation 在 macOS 中捕获视频数据?