grep - Grep 用于所需文本前面的前导空格
问题描述
我需要在grep
空格和文件扩展名之间存在的文件名。例子:
[meghanak@cycrh6rtp32 CIT]$ echo -e "Akqmskdnlcn shddhjshd.py" | grep "[[:space:]]*.py"
-e Akqmskdnlcn shddhjshd.py
但我希望结果为:
shddhjshd.py
解决方案
$ echo -e "Akqmskdnlcn shddhjshd.py" | grep -o "[^[:space:]]*\.py"
shddhjshd.py
^
是否定捕获组。使用[:space:]
意味着字符而不是空格。
-o
只是只打印出匹配的内容。
推荐阅读
- python - 如何修复 sqlalchemy.exc.InvalidRequestError:一个或多个映射器无法初始化...原始异常是:viewonly
- python - 从 Reading 类型的对象中提取特定值(Reading 是加载 NEM13 文件时返回的对象)
- c# - CS1061:MyClass 不包含 X 的定义,并且找不到接受 MyClass 类型的第一个参数的扩展方法 X
- c# - SearchResultCollection 类:对象属性值比较
- azure-devops - Azure DevOps 和发布流程,热修复时处理版本控制?
- visual-studio - 在新的 git 体验 VS 16.8 中找不到旧的“同步”
- typescript - 如何推断外部函数的参数类型
- list - Agda 列出自然数的通用列表的最后一个,并与 1 的列表连接
- c++ - 2D FFT 将两个矩阵都转换为 FFT 格式后该怎么办?
- web-scraping - 如何将数据从多页存储到json?