1

我在一个看起来像这样的文件中有多个字符串

TXT 20131101 094502,20131101 094502,Fri Nov  1 09:45:02 UTC 2013;

我想要一个正则表达式,它将在 TXT 之后获取所有内容,并且只显示到 ; 使用 sed 或 awk

我尝试了很多方法,但似乎无法让它停在 ;

谢谢你的帮助

4

2 回答 2

6

我想要一个正则表达式,它将在 TXT 之后获取所有内容,并且只显示到 ;

grep -oP 'TXT[^;]*' filename

使用awk

awk -F';' '{print $1}' filename

使用sed

sed 's/\([^;]*\).*/\1/' filename
于 2013-11-01T09:55:00.027 回答
0
 sed "s/TXT\([^;]*\);.*/\1/"

在 TXT (如果有的话也是第一个空格)和 first 之间;(不包含)

来自 devnull 的回复在输出中包含“TXT”

于 2013-11-03T11:58:44.800 回答