Программно открыть файл в текстовом редакторе по умолчанию

Это работает для меня. Технически вы можете заменить (cat "$1") |на < "$1", если хотите.

Files_To_Parse=myfile
seq 10000000 > $Files_To_Parse
first=1
second=2
third=3
fourth=4
export first
export second
export third
export fourth

parallel_func() {
    (cat "$1") | grep -ioE "($first$second$third+$fourth)"
}
export -f parallel_func
parallel parallel_func ::: $Files_To_Parse
3
11.04.2019, 17:27
1 ответ

Файл *.desktop, который вы получаете, вызывая xdg-mime query default text/plain, находится в одном из двух мест:

$HOME/.local/share/applications/
/usr/share/applications/

Итак, вам нужно найти его там, затем проанализировать строку Exec=и запустить ее, передав все аргументы, например.:

$(grep Exec /usr/share/applications/seahorse.desktop | cut -d= -f2) "$@"

Чтобы определить эмулятор терминала по умолчанию в дистрибутивах debian -, вы можете запустить следующее и аналогичным образом проанализировать вывод, чтобы получить путь:

update-alternatives --query x-terminal-emulator

или просто попробуйте запустить нужную команду напрямую:

x-terminal-emulator -e "your command here"

Если вам нужно сделать его независимым от распространения, вам нужно будет реализовать угадывание среды рабочего стола, поскольку оно, по-видимому, зависит от того, как каждое DE хранит свою конфигурацию. Возможно, вы захотите взглянуть на xdg -код терминала , который является частью пакета утилит xdg, отвечающего за запуск терминала по умолчанию (, но по какой-то причине не распространяется ).

2
27.01.2020, 21:24

Теги

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