从一行中获取MAC地址之前的文本



我只想从名为idsxx.txt的文件中的一行中获取MAC地址之前的文本。

文件内容:

ComPuteer AA A AA:Bb:CC:DD:EE:FF    Some  /7 Info
ComPuteRb CC:DD:EE:FF:Aa:CC     Some Info   &&7 About
CompuY Third CC:CC:CC:CC:CC:CC               Some Infoz  &(/)

我想要的方式:

ComPuteer AA A
ComPuteRb
CompuY Third

我想要一个像这样在线工作的解决方案:

cat idsxx.txt  | while read line 
do
#working on $line
done

它可以像可变替代一样好

尝试:

cat idsxx.txt  | while read line 
do
shortline=${line%% ??:??:??:??:??:*}
#working on $shortline
done

这个解决方案还包括您正在处理的变量的第一个输入行的单独A

删除匹配模式及其后的所有内容。

sed -r 's/([0-9A-Fa-f]{2}:){5}[0-9A-Fa-f]{2}.*//' idsxx.txt

您可以使用处理输出

while read -r line; do
echo "line=${line}"
done < <(sed -r 's/([0-9A-Fa-f]{2}:){5}[0-9A-Fa-f]{2}.*//' idsxx.txt)

最新更新