bash - 获取包含两部分的字符串的第一部分
问题描述
我有一个字符串,它有两个部分(路径和所有者),都用空格分隔。
这是输入文件 input.txt
/dir1/dir2/file1 @owner1
/dir1/dir2/foo\ bar @owner2
我想将所有路径提取到单独的输出文件 - output.txt 我不能使用空格作为分隔符,因为路径也可以包含带有空格和分隔符的文件名
/dir1/dir2/file1
/dir1/dir2/foo\ bar
解决方案
rev
这可能是使用+ GNU的另一种方式grep
:
rev file | grep -oP '.*@ \K.*' | rev
或者
rev file | grep -oP '.*@\s+\K.*' | rev
使用原始的简单解决方案:
awk -F' @' '{print $1}' Input_file
推荐阅读
- django - 包含匹配的 Django ArrayField 过滤
- excel - 无法单击网络表单中的按钮
- javascript - 如何在 vuetify 数据表中显示数据
- c++ - 如何在 arduino 或 Raspberrypi 上制作 600MHz 循环?
- node.js - Angular未登录用户详细信息
- python - 使用符号比率重新制定 sympy 中的小数表达式
- r - 如何在 R 文本中有特定的图像符号?
- maven - 如何找到来自父pom的maven依赖?
- html - Css Grid 内容溢出
- java - Java中的Base64编码,使用android.util.Base64