2017-10-03 2 views
-1

은 내가

예를 들어

에 대한

title="set key invert ; set bmargin 0 ; set multiplot ; set size 1.0 , 0.33 ; set origin 0.0 , 0.67 ; set format x "" ; set xtics offset 15.75 "1970-01-01 00:00:00" , 31556736 ; plot "/usr/local/lucid/www/tmp/20171003101438149255.dat" using 1:5 notitle with linespoints ls 2'" 

그런 다음 예상 출력 AWK를 사용

/usr/local/lucid/www/tmp/20171003101438149255.dat 

수 또는

을 grep을해야 문자열에서 경로를 추출해야
+0

당신은 것을 포함하는 파일을 구문 분석하는 데 도움을 요청하고 있습니까 텍스트 또는 변수 na '''-delimited string 안에'''을 넣으려고하기 때문에 잘못 될 것입니다.) 또는 다른 것? –

답변

0

sed 접근 :

grep 솔루션을
title='set key invert ; set bmargin 0 ; set multiplot ; set size 1.0 , 0.33 ; set origin 0.0 , 0.67 ; set format x "" ; set xtics offset 15.75 "1970-01-01 00:00:00" , 31556736 ; plot "/usr/local/lucid/www/tmp/20171003101438149255.dat" using 1:5 notitle with linespoints ls 2' 

sed 's/.* plot "\([^"]\+\).*/\1/' <<<$title 
/usr/local/lucid/www/tmp/20171003101438149255.dat 
0

, awk 솔루션을

grep -oP '"\K/[^"]*(?=")' <<< $title 

, grep

awk '{match($0,/\/[^"]*/,a);print a[0]}' <<< $title 
0

짧은 정규식 :

grep -oP 'plot "\K[^"]+' <<< $title 
/usr/local/lucid/www/tmp/20171003101438149255.dat