Самый простой способ установить новое ядро - использовать резервные порты Jessie .
Сначала вам нужно добавить резервные копии Jessie в свои репозитории, если их там еще нет:
echo deb http://http.debian.net/debian jessie-backports main > /etc/apt/sources.list.d/jessie-backports.list
(как root), тогда
apt-get update
apt-get -t jessie-backports install linux-image-amd64
установит текущее ядро по умолчанию backported (на данный момент 4.8 пишу).
Чтобы обеспечить соответствующую прошивку для Wi-Fi вашего ноутбука, вам необходимо добавить non-free
и установить firmware-iwlwifi
:
echo deb http://http.debian.net/debian jessie-backports main contrib non-free > /etc/apt/sources.list.d/jessie-backports.list
apt-get update
apt-get -t jessie-backports install firmware-iwlwifi
Чтобы решить проблемы с отображением, вы может удалить xserver-xorg-video-intel
(в настоящее время графическим процессорам Intel не нужен отдельный драйвер, они могут использовать поддержку настройки режима ядра), как предлагается GAD3R :
apt-get remove xserver-xorg-video-intel
(Вам может потребоваться установить xserver-xorg-video-dummy
для удовлетворения зависимостей других пакетов.)
Вам также следует установить микропрограмму Skylake, чтобы включить все функции графического процессора:
apt-get -t jessie-backports install firmware-misc-nonfree
Включение backports безопасно: новые пакеты не выбираются автоматически из backports, вам нужно явно выбрать их, используя -t jessie-backports
, как указано выше (но как только вы это сделаете, будут выбраны обновления для обновленных пакетов вверх по apt-get upgrade
).
Версия ядра 4.6 уже обеспечивала хорошую поддержку Skylake, и с тех пор она улучшилась. Если вы обновляете, как указано выше, запуск apt-get upgrade
автоматически обновит до более поздних версий ядра, как только они станут доступны в резервных портах.
awkрешение:
--печатать повторяющиеся строки только в полях 1,2 из CSV-файла
awk -F, '$1==f1 && $2==f2{ printf "%s,%s,%s\n%s\n", f1,f2,f3,$0 }
{ f1=$1; f2=$2; f3=$3 }' <(sort -t, -k1,1 -k2,2 file.txt)
Выход:
spark2-thrift-sparkconf,spark.history.fs.logDirectory,{{spark_history_dir}}
spark2-thrift-sparkconf,spark.history.fs.logDirectory,true
--исключить повторяющиеся строки из CSV-файла (в полях 1,2)
awk -F, 'f1 && f2{ if($1!=f1 || $2!=f2) { printf "%s,%s,%s\n", f1,f2,f3 } else next }
{ f1=$1; f2=$2; f3=$3 }' <(sort -t, -k1,1 -k2,2 file.txt)
Выход:
spark2-thrift-sparkconf,spark.history.DF.logDirectory,true
spark2-thrift-sparkconf,spark.history.fs.logDirectory,{{spark_history_dir}}
cut
первые два поля, uniq
их, как вы предложили, и используйте результат для grep
строк в исходном файле:
cut -d, -f1,2 file.cvs |uniq -d|grep -Ff - file.cvs
Если файл еще не отсортирован, вы должны отсортировать его доuniq
:
cut -d, -f1,2 file.cvs |sort|uniq -d|grep -Ff - file.cvs
Для второго вопроса (инвертированного результата )используйте вариант -u
вместо-d
:
cut -d, -f1,2 file.cvs |sort|uniq -u|grep -Ff - file.cvs
$ awk -F, 'NR==FNR{a[$1,$2]++; next} a[$1,$2]>1' file.txt file.txt
spark2-thrift-sparkconf,spark.history.fs.logDirectory,{{spark_history_dir}}
spark2-thrift-sparkconf,spark.history.fs.logDirectory,true
Обработка двух файлов с использованием одного и того же входного файла дважды
NR==FNR{a[$1,$2]++; next}
используя первые два поля в качестве ключа, сохранить количество вхождений a[$1,$2]>1
печатать, только если count больше 1 во время второго прохода
Для противоположного случая простой вопрос проверки изменения условия
$ awk -F, 'NR==FNR{a[$1,$2]++; next} a[$1,$2]==1' file.txt file.txt
spark2-thrift-sparkconf,spark.history.Log.logDirectory,true
spark2-thrift-sparkconf,spark.history.DF.logDirectory,true