Я пытался это сделать, когда начал работать в Ubuntu. Когда вы помещаете LightTable в терминал, он ищет файл с именем LightTable в каталогах $PATH. вы можете поместить echo $PATH для получения каталогов.
Если вы хотите выполнить свою программу LightTable в ./opt/LightTable/deploy/LightTable, то что вам нужно сделать, поместите файл Light Table в /usr/games or /usr/bin.. Но это требует прав суперпользователя
откройте терминал с помощью Ctrl + Alt + T
, затем поставьте
Я предпочитаю создавать ярлык LightTable с помощью
[ f1]Затем введите пароль SU. Затем вы можете получить доступ к своей программе с помощью LightTable в терминале
Вы можете поместить /usr/bin или /usr/local/bin вместо /usr/games, что-либо, что является каталогом $PATH, It doesn ' t должен быть таким, но я рекомендую вам поместить его в /usr/local/bin
Я также рекомендую вам изменить выходной файл как lightpath вместо LightPath
Мы можем использовать sed следующим образом:
sed -E 's/\:([0-9])([0-9])\..*"/\:\1\2"/g' fb.csv
Лучшее регулярное выражение было предоставлено @GlennJackman:
Двоеточие не является особым и не должно быть убежали. Вам не нужно записывать каждую цифру отдельно. Это не должно быть глобальной заменой, потому что первая из них будет удалять остальную часть строки: s/(:[0-9][0-9])\.[0-9]+/\1/:sed -E 's/(:[0-9][0-9])\.[0-9]+/\1/' fb.csv
Самое облегченное решение без расширенного регулярного выражения было предоставлено @Dessert:
sed 's/\.[0-9]*"$/"/' fb.csv
Чтобы преобразовать третий столбец в целое число, если я правильно понял, мы должны добавить второе выражение:
sed -e 's/\.[0-9]*"$/"/' -e 's/\://g' fb.csv
[d9 ] Если выход выглядит адекватно, мы можем добавить опцию -i.bak, чтобы заменить значения в своих местах и создать файл резервной копии одновременно: sed -e 's/\.[0-9]*"$/"/' -e 's/\://g' fb.csv -i.bak
Ссылки: [!d11 ] Sed, редактор потока - gnu.org FreeBSD Man Pages: Sed | Ubuntu Man Pages: Sed GNU OS: обзор синтаксиса регулярных выражений RexExr - онлайн-инструмент для изучения, построения и amp; Проверить регулярные выражения
Мы можем использовать sed следующим образом:
sed -E 's/\:([0-9])([0-9])\..*"/\:\1\2"/g' fb.csv
Лучшее регулярное выражение было предоставлено @GlennJackman:
Двоеточие не является особым и не должно быть убежали. Вам не нужно записывать каждую цифру отдельно. Это не должно быть глобальной заменой, потому что первая из них будет удалять остальную часть строки: s/(:[0-9][0-9])\.[0-9]+/\1/:sed -E 's/(:[0-9][0-9])\.[0-9]+/\1/' fb.csv
Самое облегченное решение без расширенного регулярного выражения было предоставлено @Dessert:
sed 's/\.[0-9]*"$/"/' fb.csv
Чтобы преобразовать третий столбец в целое число, если я правильно понял, мы должны добавить второе выражение:
sed -e 's/\.[0-9]*"$/"/' -e 's/\://g' fb.csv
Если выход выглядит адекватно, мы можем добавить опцию -i.bak, чтобы заменить значения в своих местах и создать файл резервной копии одновременно:
sed -e 's/\.[0-9]*"$/"/' -e 's/\://g' fb.csv -i.bak
Ссылки:
Sed, редактор потока - gnu.org FreeBSD Man Pages: Sed | Ubuntu Man Pages: Sed GNU OS: обзор синтаксиса регулярных выражений RexExr - онлайн-инструмент для изучения, построения и amp; Проверить регулярные выраженияМы можем использовать sed следующим образом:
sed -E 's/\:([0-9])([0-9])\..*"/\:\1\2"/g' fb.csv
Лучшее регулярное выражение было предоставлено @GlennJackman:
Двоеточие не является особым и не должно быть убежали. Вам не нужно записывать каждую цифру отдельно. Это не должно быть глобальной заменой, потому что первая из них будет удалять остальную часть строки: s/(:[0-9][0-9])\.[0-9]+/\1/:sed -E 's/(:[0-9][0-9])\.[0-9]+/\1/' fb.csv
Самое облегченное решение без расширенного регулярного выражения было предоставлено @Dessert:
sed 's/\.[0-9]*"$/"/' fb.csv
Чтобы преобразовать третий столбец в целое число, если я правильно понял, мы должны добавить второе выражение:
sed -e 's/\.[0-9]*"$/"/' -e 's/\://g' fb.csv
Если выход выглядит адекватно, мы можем добавить опцию -i.bak, чтобы заменить значения в своих местах и создать файл резервной копии одновременно:
sed -e 's/\.[0-9]*"$/"/' -e 's/\://g' fb.csv -i.bak
Ссылки:
Sed, редактор потока - gnu.org FreeBSD Man Pages: Sed | Ubuntu Man Pages: Sed GNU OS: обзор синтаксиса регулярных выражений RexExr - онлайн-инструмент для изучения, построения и amp; Проверить регулярные выраженияИспользование sed:
sed -E 's/(.*)"([0-9]*:[0-9]*:[0-9]*)\.[0-9]*"/\1\2/' fb.csv
Избавление от :, чтобы можно было использовать последний столбец:
sed -Ee 's/(.*)"([0-9]*:[0-9]*:[0-9]*)\.[0-9]*"/\1\2/' -e 's/\://g' fb.csv
Используйте awk, чтобы удалить что-либо после точки в последнем поле.
awk -F\" '{gsub(/\..*$/, "", $(NF-1) )}1' OFS=\" infile
и используйте следующую команду, если вам нужно выполнить вычисление разницы между двумя раз подряд в последовательных строках в секундах. [!d1 ]
awk -F\" 'function abs(x) {return x<0 ? -x : x}
{ gsub(/\..*$/, "", $(NF-1) ) }
NR>1{ split( $(NF-1), ary, /:/); t_sec= 3600*ary[1] + 60*ary[2] + ary[3];
getline; N=$(NF-1); split( $N, ary, /:/); t_sec_N= 3600*ary[1] + 60*ary[2] + ary[3];
print abs(t_sec - t_sec_N);
}' OFS=\" infile
, заимствованная из ответа @ glenn
Используйте awk, чтобы удалить что-либо после точки в последнем поле.
awk -F\" '{gsub(/\..*$/, "", $(NF-1) )}1' OFS=\" infile
и используйте следующую команду, если вам нужно выполнить вычисление разницы между двумя раз подряд в последовательных строках в секундах.
awk -F\" 'function abs(x) {return x<0 ? -x : x}
{ gsub(/\..*$/, "", $(NF-1) ) }
NR>1{ split( $(NF-1), ary, /:/); t_sec= 3600*ary[1] + 60*ary[2] + ary[3];
getline; N=$(NF-1); split( $N, ary, /:/); t_sec_N= 3600*ary[1] + 60*ary[2] + ary[3];
print abs(t_sec - t_sec_N);
}' OFS=\" infile
, заимствованная из ответа @ glenn
Использование sed:
sed -E 's/(.*)"([0-9]*:[0-9]*:[0-9]*)\.[0-9]*"/\1\2/' fb.csv
Избавление от :, чтобы можно было использовать последний столбец:
sed -Ee 's/(.*)"([0-9]*:[0-9]*:[0-9]*)\.[0-9]*"/\1\2/' -e 's/\://g' fb.csv
Используйте awk, чтобы удалить что-либо после точки в последнем поле.
awk -F\" '{gsub(/\..*$/, "", $(NF-1) )}1' OFS=\" infile
и используйте следующую команду, если вам нужно выполнить вычисление разницы между двумя раз подряд в последовательных строках в секундах.
awk -F\" 'function abs(x) {return x<0 ? -x : x}
{ gsub(/\..*$/, "", $(NF-1) ) }
NR>1{ split( $(NF-1), ary, /:/); t_sec= 3600*ary[1] + 60*ary[2] + ary[3];
getline; N=$(NF-1); split( $N, ary, /:/); t_sec_N= 3600*ary[1] + 60*ary[2] + ary[3];
print abs(t_sec - t_sec_N);
}' OFS=\" infile
, заимствованная из ответа @ glenn
Использование sed:
sed -E 's/(.*)"([0-9]*:[0-9]*:[0-9]*)\.[0-9]*"/\1\2/' fb.csv
Избавление от :, чтобы можно было использовать последний столбец:
sed -Ee 's/(.*)"([0-9]*:[0-9]*:[0-9]*)\.[0-9]*"/\1\2/' -e 's/\://g' fb.csv