Часть этих проверок на вменяемость утверждает, что следующие каталоги должны быть в корневой файловой системе и поэтому не могут быть в отдельных точках монтирования
Если вы удалите отдельное монтирование, созданное для /root (возможно, выделите место в / point point, если это возможно), то программа установки, скорее всего, разрешит продолжить.[116054].
Если вы не настаиваете на использовании sed
, то вы можете подумать об использовании dirname
:
S="dir/subdir/othersubdir/file.txt"
P=$(dirname $S)
echo $P
dir/subdir/othersubdir
S="dir/file.txt"
P=$(dirname $S)
echo $P
dir
Если вы используете zsh
жизнь намного проще, просто используйте :h
модификатор:
$ var='dir/subdir/othersubdir/file.txt'
$ echo "$var:h"
dir/subdir/othersubdir
Вот sed
команда:
$ P="dir/subdir/othersubdir/file.txt"
$ sed -r 's/^(.*)\/.*\.txt$/\1/' <<< $P
dir/subdir/othersubdir
В вышеприведенной sed
команде мы захватываем все, что угодно. *
от начала^
переменной P
, которая заканчивается$
командой/*. txt
, которая известна как захваченная группа с\1
в качестве ее beck-ссылки, так как использовала вокруг нее пару круглых скобок(.*)
, затем, заменяя часть команды sed, мы печатаем только захваченную группу, используя ее обратную ссылку.