首页 > 解决方案 > 获取包含两部分的字符串的第一部分

问题描述

我有一个字符串,它有两个部分(路径和所有者),都用空格分隔。

这是输入文件 input.txt

/dir1/dir2/file1 @owner1
/dir1/dir2/foo\ bar @owner2

我想将所有路径提取到单独的输出文件 - output.txt 我不能使用空格作为分隔符,因为路径也可以包含带有空格和分隔符的文件名

/dir1/dir2/file1
/dir1/dir2/foo\ bar

标签: bashawksedgrepcut

解决方案


rev这可能是使用+ GNU的另一种方式grep

rev file | grep -oP '.*@ \K.*' | rev

或者

rev file | grep -oP '.*@\s+\K.*' | rev

使用原始的简单解决方案:

awk -F' @' '{print $1}' Input_file

推荐阅读