0
我有一個bash腳本,我試圖從中學習。我有中有一個SQL文件:根據RegEx獲得字符串值
create user myuser with password 'mypassword';
我想用sed和存儲在一個慶典變量的密碼和其他的bash變量pasword的價值。我正在學習的腳本有:
USERNAME := $(shell sed -n \
"s/^create user \(\S\+\) with password '\(\S\+\)';$$/\1/p" \
createdb.sql)
PASSWORD := $(shell sed -n \
"s/^create user \(\S\+\) with password '\(\S\+\)';$$/\2/p" \
createdb.sql)
不管我嘗試過哪種正則表達式都不匹配。我的問題的一部分是我不瞭解sed的基礎知識。我如何去獲取字符串的部分值?
$ STR在這種情況下會是什麼文件? –
hm ...使用外部'grep'和bash內建正則表達式,而不是一個外部sed +讀? – jm666
你可以,但我覺得這有點簡單。它主要使用一個帶有密碼的多字符分隔符來分隔這兩個值,而不是試圖想出一個安全的單字符分隔符來在'IFS'中使''read' resplit'sed'的輸出。 – chepner