новая материнская плата, старый диск: “Бросил ожидать корневого устройства”, спав initramfs; переустановка личинки не помогает

Состояние гонки уже определено. Но если вам нужно более простое решение, вам не нужен отдельный wc для подсчета записей, awk может это сделать:

awk '{if($2!~/\*/){print $1;++n}END{print n >"n.txt"}' tmp | sort | uniq -c ...

Кроме того, awk может считать как sort|uniq -c до тех пор, пока значения помещаются в память, а также делать вычисления x/n, но может выводить в "случайном" порядке; также использование матча/действия более аккуратно:

awk '$2!~/\*/{++k[$1];++n} END{for(i in k){print k[i]"\t"k[i]/n*100"\t"i}}' tmp | sort -k1nr

Или в недавнем GNU awk вы можете установить PROCINFO["sorted_in"]= "@ind_num_desc", так что для использует правильный порядок и вам не нужен сорт.

1
20.12.2014, 23:44
1 ответ

Это несколько вопросов, поэтому давайте начнем с начала:

  1. Не знаю, почему инструкции для Python 2.6 от 2012 года кажутся простейшими, но в целом следует:

    • установить с помощью диспетчера пакетов, например, на Debian/Ubuntu sudo apt-get install python-lzma (это бэкпорт стандартного модуля lzma, появившегося в Python3.3)
    • или установить из PyPI с помощью pip (который должен быть установлен только один раз):

       sudo apt-
      pip установка pylzma
      

    Оба эти метода позволяют удалить установку, что-то, начиная со смолы, не гарантирует. Использование pip обычно предоставляет более актуальный пакет, но не может обрабатывать зависимости системной библиотеки (поэтому может потребоваться установить пакет liblzma5 , если он еще не установлен.

  2. Обычно bytecompile не выполняется явно, самое позднее при первом использовании, или во время установки. Но python работает нормально с файлами .py , даже если он не может записать файл .pyc при первом использовании (он просто начинается медленнее).

  3. Интересно, почему импорт питона по подсказке питона не дает ошибки. В моей системе это так, так как нет файла python.py . Чтобы проверить наличие pylzma, следуйте инструкциям на устаревшей странице по адресу:

     > > import pylzma
    > > > импорт py7zlib
    

С помощью pip я получил версию 0,4,6 привязок Игоря Павлова

-121--146028-

Нет, это неправильно. Я понятия не имею, что такое \1 {3} , но именно это вызывает у вас проблемы. Если нужно найти строки, содержащие три повторяющихся символа, а затем три других повторяющихся символа, можно использовать следующую команду:

grep -E '([a-z])\1{2}([a-z])\2{2}'

\1 относится к первой захваченной группе. Можно захватывать группы, используя круглые скобки. Затем \1 является первой такой группой, а \2 - второй и т.д. Поскольку у вас не было захваченных групп, grep жаловался на недопустимую ссылку, так как ее не на что ссылаться. Так, в приведенном выше регексе скобки фиксируют две группы. Затем требуется {2} , а не {3} , так как также подсчитывается начальное совпадение.

Вы не указываете, должно ли совпадение быть словом, или вы также хотите совпадать в словах. Если вы хотите, чтобы все слово соответствовало (и исключить вещи, как aaaabbb , используйте это вместо:

grep -wE '([a-z])\1{2}([a-z])\2{2}'

Чтобы напечатать только соответствующую часть строки (слово), а не всю строку, используйте (только GNU grep):

grep -owE '([a-z])\1{2}([a-z])\2{2}'
-121--48943-

Новая системная плата работает под управлением UEFI, в то время как старая Поэтому необходимо установить grub-efi вместо grub-pc .

1
27.01.2020, 23:51

Теги

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