найти и сохранить строку после шаблона. Он зависает при отправке пути к файлу с помощью переменной в sed - PullRequest
0 голосов
/ 18 сентября 2018

диск / файл1:

parameter wanted = 108,

Из file1 я хочу получить значение требуемого, т.е. 108 и сохранить его в val. Для этого я использовал

val=`sed -n 's/.*wanted = \(.*\)\,.*/\1/p' disk/file1` 

и это работает.

Теперь я хочу установить этот путь к переменной и передать его так же, как указано выше. Но этого не происходит.

Код:

set pa=disk/file1 
val=`sed -n 's/.*wanted = \(.*\)\,.*/\1/p' $pa`

Как передать значения $ в ``?

1 Ответ

0 голосов
/ 18 сентября 2018

Если вы используете bash или подобное, не используйте set для присвоения значений переменным (это был синтаксис (t) csh).На самом деле, для него нет ключевого слова:

pa=disk/file1

Что set делает, когда видит параметр, который не может проанализировать, если назначает его следующему позиционному параметру.Например,

set pa=disk/file1

устанавливает $1 в pa=disk/file1.(Легко проверяется echo "$1".)

...