读取文本文件-并导出部分文本行

读取文本文件-并导出部分文本行

我正在尝试从文本文件中提取一些数据。我使用的函数(如 grep )提取整行作为答案,但我需要将文本行的特定部分导出到另一个文件。

例如:一个文本文件包含:“星期二我去跑步,星期三我去第五大道的健身房”

我希望查找我星期三去的地方(例如使用 grep ),但只提取“我去健身房”部分并将其定向到新文件

答案1

您需要使用-o标志 (only) 来仅导出所需文本,并使用正则表达式来匹配“I go to”后的变量文本。因此,在您的例子中,命令将是

cat text| grep -o "I go to the [aA-zZ]*

其中grep -o仅匹配所需的文本并且正则表达式[aA-zZ]*匹配其后的任何单个单词。

如果要过滤不同的日子,可以在中间添加另一个 grep,例如

cat text| grep "Wed" | grep -o "I go to the [aA-zZ]*

有关 grep 中正则表达式的简单指南,请参阅 初学者指南-gnu-grep-基础-正则表达式/

相关内容