Получить текст перед адресом MA C из строки - PullRequest
0 голосов
/ 21 марта 2020

Я хочу получить только текст перед адресом MA C из строки в файле с именем idsxx.txt.

Содержимое файла:

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

это может быть хорошо, как подстановка переменных

Ответы [ 2 ]

1 голос
/ 21 марта 2020

Попробуйте:

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

Это решение также включает одиночную A первой строки ввода в переменную, с которой вы работаете.

0 голосов
/ 22 марта 2020

Удалить соответствующий шаблон и все после него.

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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...