Если у вас есть список, вы часто можете выиграть от параллельного выполнения команд:
env_parallel --session
f () { echo $(sed 's/begin-\([0-9]*\).end/\1/' <<<$1) ;}
grep -l "stringToBeSearched" * | env_parallel f
или:
f () { echo $(sed 's/begin-\([0-9]*\).end/\1/' <<<$1) ;}
export -f f
grep -l "stringToBeSearched" * | parallel f
python3
обычно является символической ссылкой на другой исполняемый файл. Вы можете получить местоположение с помощью whereis python3
, это первая запись. Для меня это /usr/bin/python3
. Вроде как у вас, у вашего пользователя и у рута по разному, поэтому выполняйте whereis
с помощью sudo и без.
ls -l /usr/bin/python3
показывает цель этой символической ссылки. Для меня это :lrwxrwxrwx 1 root root 9 Dec 13 12:55 /usr/bin/python3 -> python3.9
Целью является файл python3.9
, также находящийся в /usr/bin
. Для вас это, скорее всего, python3.6
.
Вы можете изменить версию, заменив цель этой символической ссылки. Чтобы проверить имя правильной цели, проверьте ls -Al /usr/bin | grep python
.
cd /usr/bin
sudo ln -f -s python3.9 python3
Если владельцем символической ссылки python3
является ваш пользователь, опустите sudo
.