Как найти совпадающее значение в файле и заменить это значение в другом файле?

Я изменил конфигурацию 3 слотов PCIE16 _в Bios на моем x99 -E, установив статический режим x8 вместо автоматического, который используется по умолчанию для поддержки устройств M.2. Теперь работает нормально без ошибок TLP на обеих моих картах 1070GTX, подключенных через платы расширения PCIe 1x на 16x.

Сначала я не использовал порт 16 _3, перешел на этот слот для проверки, но до внесения изменений в биос все еще были проблемы. Также изменен параметр bsleep для всех карт на 30 в конфигурации майнера.

Перед изменением журнал ядра был забит сообщениями об ошибках. Также пытался перезагрузить систему до и после замены. Кажется, довольно стойкий.

0
25.03.2020, 23:35
2 ответа

Вы можете сгенерировать сценарий sed из файла phg и использовать его для изменения файла fam:

grep -v ^# phg000008.individualinfo \
| cut -d, -f3,4,10 \
| sed -E 's=(.*),(.*)-,(.*)=s/[^ ]+ \3\\.CEL/\2 \1/=' \
| grep s/ \
| sed -Ef- output.fam 

Сгенерированный скрипт выглядит так:

s/[^ ]+ POSED_g_7FDZ321_BI_SNP_B02_36506\.CEL/fam1000 G1000/
s/[^ ]+ BURRY_g_3KYJ479_BI_SNP_H04_40068\.CEL/fam1001 G1001/
s/[^ ]+ ALIKE_g_1LTX827_BI_SNP_F01_33250\.CEL/fam2208 G2208/
s/[^ ]+ BURRY_g_3KYJ479_BI_SNP_A12_40182\.CEL/fam1676 G1676/
0
19.03.2021, 02:32

Попробуйте

awk '
FNR == NR       {sub (/-/, "", $4)              # get rid of "-" in $4
                 T[$10 ".CEL"] = $4 " " $1      # save file2 in temp array
                 next
                }
$2 in T         {$1 = T[$2]                     # check if $2 is relevant; replace 
                 $2 = ""                        # $1 with temp array value; delete $2
                 print  
                }
' FS=, file2 FS=" " file1
0
19.03.2021, 02:32

Теги

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