2013-12-18 27 views
-1

有在Unix簡檔中的一個被定義的變量作爲桑達命令顯示

sync="/aBCDEDF=="; export sync 
sync1="hikjl=="; export sync1 

和欲被顯示爲

sync=/aBCDEDF== 
sync1=hikjl== 

如何顯示使用sed命令輸出?

回答

2

我認爲使用sed這個方面沒有多大意義;你可以這樣寫:

printf 'sync=%s\n' "$sync" 
printf 'sync1=%s\n' "$sync1" 

或:

echo "sync=$sync" 
echo "sync1=$sync1" 

(這兩個通常是等價的,但與printf版本是更便攜,由於不同echo實現中反斜槓的處理變幻莫測。 )

+0

它還可以與一個printf的,而不是兩個來完成:'printf的「同步=% s \ nsync1 =%s'「$ sync」「$ sync1」';更簡單的是'printf'sync =/aBCDEDF == \ nsync1 = hikjl =='' –

0

假設你的文件,命名爲infile看起來像你表現什麼,下面會做:

sed 's/\([^;]*\);.*/\1/ 
s/\"//g' infile 
0

這做這項工作也

set | egrep 'sync1{0,1}=' 
# or 
set | egrep '(sync|sync1)=' 
0

這可能爲你工作(GNU SED):

sed -r 's/"([^"]*).*/\1/' file