Это работает для меня. Технически вы можете заменить (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
Файл *.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, отвечающего за запуск терминала по умолчанию (, но по какой-то причине не распространяется ).