Unix命令在点后解析2个字符

0 unix awk grep sed

我有一个.txt文件(t1.txt),其中包含以下值.每组价值观.我需要做的是遍历每一行并解析Unix中第一个点后的前两个字符.

SBX00.GIATIC.-
SBX00.TIATIC.TTT.FAS.-
SBX00.SIATIC.SSBSC.CAMI.CRDT,SBX00.GIATIC.SSBSC.CAMI.ISITE
GB400.VIATIC.VQ051.CV750T1.D-,SB400.GIATIC.VQ051.CV902T1.D-,SB400.GIATIC.VQ051.CV902S1.D.-
Run Code Online (Sandbox Code Playgroud)

我希望新文件看起来像:

GI
TI
SI,GI
VI,GI,GI
Run Code Online (Sandbox Code Playgroud)

Boh*_*ian 5

尝试:

sed -e 's/[^,.]*\.\(..\)[^,]*/\1/g' myfile.txt
Run Code Online (Sandbox Code Playgroud)

一个测试:

echo "GB400.VIATIC.VQ051.CV750T1.D-,SB400.GIATIC.VQ051.CV902T1.D-,SB400.GIATIC.VQ051.CV902S1.D.-" \
| sed -e 's/[^,.]*\.\(..\)[^,]*/\1/g'
Run Code Online (Sandbox Code Playgroud)

输出:

VI,GI,GI
Run Code Online (Sandbox Code Playgroud)