Закрепление на Дуге Linux
Загрузите tp_smapi модули с АУРА.
Сборка и установка: makepkg -i
Попытайтесь загрузить модуль:
$ sudo modprobe -v tp_smapi
insmod /lib/modules/2.6.38-ARCH/extra/thinkpad_ec.ko.gz
WARNING: Error inserting thinkpad_ec (/lib/modules/2.6.38-ARCH/extra/thinkpad_ec.ko.gz): No such device
FATAL: Error inserting tp_smapi (/lib/modules/2.6.38-ARCH/extra/tp_smapi.ko.gz): No such device
Проверьте журнал sys:
$ dmesg | tail -1
[ 1009.371778] thinkpad_ec: no ThinkPad embedded controller!
Править src/tp_smapi-0.40/thinkpad_ec.c
поскольку в ответе krubo говорится, добавляя патч к пакету:
--- thinkpad_ec.c.orig 2011-05-15 13:35:28.556634244 -0700
+++ thinkpad_ec.c 2011-05-15 13:35:40.466634616 -0700
@@ -460,6 +460,7 @@
TP_DMI_MATCH("IBM", "ThinkPad A30"),
TP_DMI_MATCH("IBM", "ThinkPad T23"),
TP_DMI_MATCH("IBM", "ThinkPad X24"),
+ TP_DMI_MATCH("LENOVO", "ThinkPad X120e"),
{ .ident = NULL }
};
return dmi_find_substring(DMI_DEV_TYPE_OEM_STRING,
Отредактируйте PKGBUILD для включения нового патча:
patch -Np1 < "$srcdir/thinkpad-x120e.patch"
Удалите любой ранее созданный пакет, и восстановите и установите пакет (makepkg -i
) с этим патчем
Загрузите модуль, и необходимо быть в бизнесе:
$ sudo modprobe tp_smapi
$ dmesg | tail -1
[ 1735.966431] tp_smapi successfully loaded (smapi_port=0xb0).
$ ls /sys/devices/platform/smapi
ac_connected BAT0 BAT1 driver modalias power
smapi_request subsystem uevent
Только для полноты этого списка, sed
может также сделать это:
sed '=' questions | sed 'N;s/\n/. /'
Печально =
управляйте печатает номера строки на отдельной строке, поэтому только разделенный sed
вызов может украсить форматирование.
Это точно что nl
для. Например, принятие file.txt
содержит Ваш демонстрационный вход, и Вы хотите, чтобы он был похож на Ваш демонстрационный вывод, Вы могли сделать:
nl -nln '-s. ' file.txt
Страница справочника для nl
глубже проникает в детали на его использовании. Это дает Вам большой контроль выходным форматом.
nl
.
– Kyle Jones
08.03.2012, 06:37
cat file
; действительно повторите $idx$i; idx =eval $idx + 1
; сделанный" должен добиться цели (не протестировал, но конечно Вы видите точку). Вы могли использовать редактора как энергия/представление, чтобы посмотреть на файл и настроить его для печати номеров строки также, у Вас будут цвета синтаксиса также эй.
– Aki
08.03.2012, 07:10
-ba
. иначе это нумерует только непустые строки и все же все еще печатает непронумерованные пустые строки, означая, что номера строки не увеличивают для отражения фактического количества новых строк... Это фиксирует его: nl -nln -ba -s'. '
– Peter.O
09.03.2012, 01:11
cat -n
в другом комментарии. Я был удивлен что -n
опция не является частью Единственной Спецификации Unix.
– D.Shawley
09.03.2012, 00:36
В Vim Вы могли добавить номера строки к фактическому тексту буфера как это:
:%s/^/\=printf('%5d. ',line('.'))
\=
(см. :help sub-replace-expression
) позволяет замещающей строке рассматриваться как выражение VimL. Выражение, используемое здесь, является простым форматированием текущего номера строки.
Вы могли сделать это немного более необычным путем автоматического вычисления и использования минимальной ширины (вместо “твердый кодированный” 5, как выше) для текущего количества строк в файле:
:%s/^/\=printf('%*d. ',len(line('$')),line('.'))
Или, лево-выровненный по ширине:
:%s/^/\=printf('%d.%*s ',line('.'),len(line('$'))-len(line('.')),'')
Конечно, если Вы просто хотите видеть номера строки и не хотите иметь их на самом деле в данных буфера, затем необходимо просто использовать
:set number
От оболочки Вы могли бы найти cat -n
или pr -tn
полезный.
Не уверенный, что Ваши ограничения расценивают разделение между числом и данными, но я сделал бы: grep -n '^' questions
. Это произвело бы:
1:Content
2:...
33:End Content
.
как regex, это не произведет пустые строки... Используя '.*'
будет.
– Peter.O
08.03.2012, 10:10
Некоторые другие решения:
Точно, что Вы делали без временного файла:
seq 1 $(wc -l questions | cut -f 1 -d " ") | paste - questions
Но cat -n
намного лучше как выше сбоев если questions
изменение файла между вызовом к wc
и paste
.
Если Вы не хотите создавать процесс, Вы могли:
{ N=1; while read line; do printf "%d %s\n" $N "$line"; N=$(($N + 1)); done; } < questions
Но не пробуйте вышеупомянутое, если у Вас есть большой файл, особенно потому что следующее bash
ошибка.
cut
. Когда wc
процессы выводы STDIN никакое имя файла: seq 1 $(wc -l < questions) | paste - questions
– manatwork
16.03.2012, 17:59
questions
файл.
– jfg956
16.03.2012, 18:01