Изменение загрузочных записей Windows ISO с помощью mkisofs для использования cdboot _noprompt.efi вместо cdboot.efi

Первый набор примерных данных:

$ awk -vOFS='\t' '{ r=""; delete t; for (i=1;i<=NF;++i) { if (!t[$i]++) { r = r ? r OFS $i : $i } } print r }' file
A       B1      C1
B       B2      D2
C       C12     C13
D       D3      D5      D9
G       F2

Второй набор примеров данных (тот же awkскрипт):

$ awk -vOFS='\t' '{ r=""; delete t; for (i=1;i<=NF;++i) { if (!t[$i]++) { r = r ? r OFS $i : $i } } print r }' file
A       CD274   PDCD1LG2        CD276
B       NEK2    NEK6    NEK10   NEKL-4
C       TNFAIP3 OTUD7B
D       DUSP16  DUSP4   DUSP8   VHP-1
E       AGO2

Сценарий считывает входной файл fileпострочно и для каждой строки проходит через каждое поле, формируя выходную строку, r. Если значение в поле уже было добавлено в строку вывода (, определяемую справочной таблицей t, используемых значений поля ), то поле игнорируется, в противном случае оно добавляется.

Когда все поля входной строки обработаны, выводится построенная строка.

Разделитель выходных полей установлен на табуляцию через -vOFS='\t'в командной строке.


Расшифровка сценария awk:

{
    r = ""
    delete t

    for (i = 1; i <= NF; ++i) {
        if (!t[$i]++) {
            r = r ? r OFS $i : $i
        }
    }

    print r
}
0
28.07.2021, 03:45
0 ответов

Теги

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