Как вывести значение с общим ключом из двух файлов, но в определенном столбце в awk

Используйте NTFS.

FAT также может подойти, но для больших файлов (> 4 ГБ )вам потребуется по крайней мере exFAT. Кроме того, FAT может закончиться тем, что все ваши файлы будут помечены как исполняемые при просмотре из *nix-систем.

NTFS должна быть доступна для чтения и записи всеми основными операционными системами. Только на некоторых моделях принтеров и сканеров, которые обычно поддерживают USB-накопители в качестве источника/цели, вам может не повезти с NTFS — обычно для этого требуется таблица разделов msdos (, а не таблица разделов GPT )с первым первичным раздел отформатирован как FAT32.

Поэтому, если вам не нужна поддержка принтера/сканера, используйте всю флешку как NTFS, в противном случае создайте первый небольшой первичный раздел FAT32,и NTFS для остальных. На всякий случай используйте только таблицу разделов типа msdos, а не GPT, поскольку GPT может поддерживаться только более новыми системами.

0
17.03.2021, 17:05
1 ответ

Поскольку формат вашего bla.tsvуже правильный с пустым вторым столбцом, необходимо лишь минимальное изменение вашего подхода:

awk -v OFS="\t" 'NR==FNR{a[$1]=$2;next} ($1 in a){$2=a[$1]} 1' FS="," hub.csv FS="\t" bla.tsv > result.tsv

Это позволит при обработке bla.tsvпроверить, имеет ли ID совпадающее значение hubв массиве a. Если это так, он устанавливает второе поле в это значение и, как правило, печатает текущую строку (, включая все сделанные изменения ).

4
18.03.2021, 22:24

Теги

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