сравнение для получения только строк с измененными значениями в столбце

Если вы используете Windows, вы можете попробовать создать USB с помощью Rufus .

Убедитесь, что выбран правильный параметр между BIOS/UEFI (MBR нормально поддерживает все ).

Если эти ошибки повторяются, попробуйте повторно -загрузить ISO-образ и повторно -записать его на USB-накопитель.

Надеюсь, это поможет.

-1
07.05.2021, 01:09
2 ответа

Как насчет awk?

$ awk -F, 'NR==FNR{a[$1,$2]=$3; next} ($1,$2) in a && $3 != a[$1,$2]' file1 file2
c,3,val3x
e,5,val5x

Если вам нужно работать с расширенными функциями CSV (, в частности со встроенными запятыми в полях CSV в кавычках, с которыми простой awk -F,не справится ), тогда всегда есть набор csvkit на основе Python -. инструменты. В частности, вы можете использоватьcsvsql:

$ csvsql -H --query '
    SELECT file2.* FROM file1 INNER JOIN file2 ON file1.a = file2.a AND file1.b = file2.b 
    WHERE file1.c != file2.c
  ' file1 file2 2>/dev/null
a,b,c
c,3,val3x
e,5,val5x
1
28.07.2021, 11:34

Вы можете использовать конвейер sed -grep:

$ sed -e 's/$/x/' file1 | grep -xFf - file2
c,3,val3x
e,5,val5x

Примечания:-

  • Сначала подготовьте данные файла1 для поиска по данным в файле2
  • -x=> полное соответствие строки, а не частичное совпадение
  • -F=> для совпадения строки, а не совпадения регулярного выражения
  • -f=> файл содержит строки для поиска
0
28.07.2021, 11:34

Теги

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