sed -передать соответствие внешней команде

Я написал небольшой скрипт, используя sed для преобразования этого:

kaefert@Ultrablech ~ $ cat /sys/class/power_supply/BAT0/uevent
POWER_SUPPLY_NAME=BAT0
POWER_SUPPLY_STATUS=Full
POWER_SUPPLY_PRESENT=1
POWER_SUPPLY_TECHNOLOGY=Li-ion
POWER_SUPPLY_CYCLE_COUNT=0
POWER_SUPPLY_VOLTAGE_MIN_DESIGN=7400000
POWER_SUPPLY_VOLTAGE_NOW=8370000
POWER_SUPPLY_POWER_NOW=0
POWER_SUPPLY_ENERGY_FULL_DESIGN=45640000
POWER_SUPPLY_ENERGY_FULL=44541000
POWER_SUPPLY_ENERGY_NOW=44541000
POWER_SUPPLY_MODEL_NAME=UX32-65
POWER_SUPPLY_MANUFACTURER=ASUSTeK
POWER_SUPPLY_SERIAL_NUMBER= 

в такой формат файла csv:

kaefert@Ultrablech ~ $ Documents/Asus\ Zenbook\ UX32VD/power_to_csv.sh 
"date";"status";"voltage µV";"power µW";"energy full µWh";"energy now µWh"
2012-07-30 11:29:01;"Full";8369000;0;44541000;44541000 
2012-07-30 11:29:02;"Full";8369000;0;44541000;44541000 
2012-07-30 11:29:04;"Full";8369000;0;44541000;44541000
... (in a loop)

Теперь я хотел бы разделить каждое из этих чисел на 1 000 000, чтобы они представляли не мкВ, а V и Вт вместо мкВт, чтобы их можно было легко интерпретировать с первого взгляда. Конечно, я мог бы сделать это вручную после того, как открою этот csv в libre office calc, но я хотел бы автоматизировать его.

Итак, что я обнаружил, так это то, что я могу вызывать внешние программы между sed, вот так:

...
s/\nPOWER_SUPPLY_PRESENT=1\nPOWER_SUPPLY_TECHNOLOGY=Li-ion\nPOWER_SUPPLY_CYCLE_COUNT=0\nPOWER_SUPPLY_VOLTAGE_MIN_DESIGN=7400000\nPOWER_SUPPLY_VOLTAGE_NOW=\([0-9]\{1,\}\)/";'`echo 0`'\1/

и что я могу получить значения, которые хочу, примерно так:

echo "scale=6;3094030/1000000" | bc | sed 's/0\{1,\}$//'

Но теперь проблема в том, как мне передать совпадение "\1" во внешнюю команду?

Если вам интересно посмотреть полный сценарий, вы найдете его там : http://koega.no-ip.org/mediawiki/index.php/Battery_info_to_csv

-. 121 ---1606363-

Предупреждение PHP :Содержимое POST -Длина 8978294 байт превышает ограничение в 8388608 байт в неизвестном в строке 0Я получаю эту ошибку при попытке загрузить импорт в WordPress в моей локальной среде разработки XAMPP :Предупреждение :Содержимое POST -Длина 8978294 байт превышает предел 8388608 байт в Неизвестно на...

Я получаю эту ошибку при попытке загрузить импорт в WordPress в моей локальной среде разработки XAMPP:

Предупреждение :Содержимое POST -Длина 8978294 байт превышает ограничение в 8388608 байт в Неизвестно в строке 0

Я изменил upload_max_filesizeс 2Mна 1000M, но это, похоже, ничего не дало.

Любые идеи?

194
задан novicePrgrmr 29 July 2012 в 23:18
поделиться