sed或awk正则表达式,分号后停止匹配

hex*_*xce 1 regex linux awk sed

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

TXT 20131101 094502,20131101 094502,Fri Nov  1 09:45:02 UTC 2013;
Run Code Online (Sandbox Code Playgroud)

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

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

谢谢你的帮助

dev*_*ull 6

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

grep -oP 'TXT[^;]*' filename
Run Code Online (Sandbox Code Playgroud)

使用awk:

awk -F';' '{print $1}' filename
Run Code Online (Sandbox Code Playgroud)

使用sed:

sed 's/\([^;]*\).*/\1/' filename
Run Code Online (Sandbox Code Playgroud)