обновить PATH в bashrc

Awkрешение для фиксированного "вхождения поля по убыванию" от 1-го к 3-му полю:

awk 'NR == 1 {
    group1 = $1; group2 = $2; group3 = $3
}
NR == 2 {
    group1 = group1 OFS $1;
    group2 = group2 OFS $2;
    group3 = group3 OFS $3
}
NR > 2 {
    if (NF == 3) { cl1[NR - 2] = $1 }
    if (NF >= 2) { cl2[NR - 2] = $(NF - 1) }
    cl3[NR - 2] = $(NF)
}
END {
    traverse(cl1, group1);
    traverse(cl2, group2);
    traverse(cl3, group3)
}
function traverse(cl, gr) {
    len = length(cl);
    for (i = 1; i <= len; i++) {
        print cl[i], gr
    }
}' OFS='\t' file

Выход:

g1  cluster01   typeA
g2  cluster01   typeA
g3  cluster01   typeA
g4  cluster02   typeA
g5  cluster02   typeA
g6  cluster02   typeA
g7  cluster02   typeA
g8  cluster03   typeB
g9  cluster03   typeB
g10 cluster03   typeB
g11 cluster03   typeB
g12 cluster03   typeB
1
20.12.2020, 14:08
1 ответ

ПУТЬ может быть определен ранее в файле или в другом файле, который источник при запуске интерактивной оболочки входа, такой как.profile, /etc/login.defs или /etc/environment. Независимо от того, где это определено, вы также можете определить новое значение PATH в любом месте.bashrc, которое вы хотите, для пример в конце, при условии, что перед:

нет return
PATH=/dir:"$PATH"

Нет необходимости exportв уже экспортированной переменной. Ты также можно рассмотреть возможность сохранения вашего.bashrc в репозитории Git, чтобы иметь возможность отслеживать изменения и легко возвращаться к предыдущей рабочей версии.

1
18.03.2021, 22:41

Теги

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