Распечатайте строку между двумя круглыми скобками

Вдобавок к pcie_aspm=force существует маленькое небольшое количество дополнительных параметров, можно добавить, что оказывают крайнее влияние на потребляемую мощность Intel GPU на микросхеме.

i915.i915_enable_fbc=1 включит сжатие кадрового буфера, какая привычка непосредственно уменьшают потребляемую мощность, но уменьшит пропускную способность памяти, требуемую привлекать экран - сокращение энергопотребления микросхемы по доверенности.

i915.lvds_downclock=1 уменьшит частоту обновления LVDS. Но как следствие, может вызвать мерцание на определенных ноутбуках, которые не поддерживают его. T420 поддерживает это, таким образом, я предполагаю, что T420s будет также.

DRM vblankoffdelay=1 уменьшит события пробуждения и обеспечит другое маленькое усиление.

После этого существуют более радикальные решения как включение Агрессивного Управления питанием Ссылки, которое имеет системные диски места в режим низкой мощности, когда нет никакого действия. Однако это может быть опасно, и я не рекомендую пробовать его Вашей активной установкой.

И наконец, существуют хорошие методы как отключение аппаратных средств, которые Вы не используете, устанавливая светлый фон, таким образом, меньше питания используется экраном, уменьшая необходимые циклы путем отключения редко используемых демонов и использования более низкой яркости.

14
07.01.2014, 19:37
6 ответов

Несколько других путей:

  • sed

    sed 's/.*(\(.*\))/\1/' file 
    
  • жемчуг

    perl -pe 's/.*\((.*)\)/$1/' file 
    

    или

    perl -lanF"[()]" -e 'print $F[1]' file 
    

    или

    perl -pe 's/.*\((.+?)\).*/$1/;' file 
    
  • awk

    awk -F"[()]" '{print $2}' file 
    
  • оболочка

    while IFS="()" read a b; do echo "$b"; done < file 
    
17
27.01.2020, 19:50
  • 1
    Вы сказали бы больше о том, как awk метод работает?, его легкое для запоминания также –  satch_boogie 19.08.2017, 20:52
  • 2
    @satch_boogie -F позволяет Вы выбрали то, что символ (символы) awk будет использовать для разделения строки на поля. Здесь, я даю ему класс символов ([]) состоя из открытия и закрывающих скобок. Таким образом, это разделит строку на ( и на ). В результате 2-е поле будет содержанием круглых скобок. Например, со строкой G8 = P(G1,G3)foo, $1 будет G8 = P, $2 будет G1,G3 и $3 был бы foo. –  terdon♦ 22.08.2017, 18:24

Существует больше чем один способ сделать это:

perl -nle 'print $1 if /\((.*)\)/' file

или:

awk 'NR > 1 {print $1}' RS='(' FS=')' file
7
27.01.2020, 19:50
grep -oP '\(\K[^)]+' file

Это ищет вводную круглую скобку, игнорирует ее, затем печатает все non-close-parenthesis символы, которые следуют.

Требует GNU grep

5
27.01.2020, 19:50

sed 's/^.*(//;s/)$//' /path/to/file

Сломать это:

sed stream editor. 's/^.*(//;s/)$//' сценарий, отправляемый в sed, который ломается как следующее:

s/^.*(//    substitute nothing for the beginning of any line (`^`) followed by anything up until an open-paren (`(`)
s/)$//      substitute nothing for a close-paren (`)`) followed immediately by the end of a line
5
27.01.2020, 19:50

Простой срез:

$ cat test01 |cut -d "(" -f2 | срез -d ")" -f1

1
27.01.2020, 19:50
awk -F'(' '{print $NF}' file | sed 's/)//g'
0
27.01.2020, 19:50

Теги

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