Как правильно использовать CONFIG _TRIM _UNUSED _KSYMS и файл белого списка?

Ваша команда awkдобавляет ., потому что вы говорите ей напечатать $i, а затем .. Таким образом, он заканчивается дополнительным .. Вместо этого вы могли бы сделать:

$ echo TRNPRD.STD.BSRE.BREX.J.20190520.V02.PRET | 
    awk -F'.' '{for(i=0;++i<=NF-6;) printf $i"."; print $(NF-5)}'
TRNPRD.STD.BSRE

Или просто напечатайте первые 3:

$ echo TRNPRD.STD.BSRE.BREX.J.20190520.V02.PRET | 
    grep -oP '^([^.]+\.){2}[^.]+'
TRNPRD.STD.BSRE

Конечно, вы также можете использовать свой оригинальный подход и просто удалить лишнее.:

$ echo TRNPRD.STD.BSRE.BREX.J.20190520.V02.PRET | 
    awk -F'.' '{for(i=0;++i<=NF- 5;) printf $i".";}' | sed 's/\.$//'
TRNPRD.STD.BSRE$ 

Однако лучшим и самым простым решением будет cut, предложенное @Panki .

1
15.08.2021, 22:35
0 ответов

Теги

Похожие вопросы