Я использовал следующую функцию в моем скрипте, чтобы выполнить это:
getPIDLock () {
if [ ! -e "$LockFile" ]; then
return 0 # Not an error, but lsof will emit a lot of text if the file doesn't exist
fi
local PIDLock=$( lsof -F p "$1" | head -n 1 )
local strEcho='echo ${PID:1}'
bash -c "PID=\"$PIDLock\";$strEcho;" # Assuming system has BASH, but not assuming that the default shell is BASH
return 0
}
Это будет выдавать PID, если файл, о котором идет речь, имеет блокировку; в противном случае будет выдана пустая строка.
PID=$( getPIDLock "/path/to/pidfile" )
if [ -n $PID ]; then
# Do your thing
fi
Вы можете использовать функцию Функция массива , чтобы применить вычисление ко всем исходным ячейкам за один шаг.
В следующем примере я предполагаю, что исходные ячейки находятся в диапазоне ячеек A1: C3.
В первой ячейке целевого диапазона (содержащий результат увеличения на 5%; в моем примере: A6: C8) вставьте следующую формулу и нажмите CTRL + SHIFT + ENTER , чтобы ввести его (при необходимости измените десятичный разделитель):
= A1:C3 + (A1:C3 * 0,05)
Ввод формулы с помощью CTRL + SHIFT + ENTER заставит LO Calc интерпретировать его как функцию массива. При работе с формулами массива следует обратить внимание на некоторые особенности; самое важное, что нужно помнить, это то, что вы можете редактировать результат формулы массива только путем редактирования всего массива. Итак, чтобы отредактировать формулу, вам нужно сначала выбрать полный массив результатов; и вам нужно будет закончить редактирование формулы массива, используя CTRL + SHIFT + ENTER .
В любом случае, после CTRL + SHIFT + ENTER результат будет выглядеть следующим образом:
Таким образом, вы можете вычислить по нескольким ячейкам с единая формула.