2017-04-05 10 views
0

몇 줄의 변수가 있습니다. 변수의 내용에서 마지막 줄을 제거하고 싶습니다. 인터넷에서 검색했지만 모든 링크는 파일에서 마지막 줄을 제거하는 것에 대해 이야기합니다. 여기의 내용을 내 변수bash 또는 sh에서 변수의 마지막 줄을 제거하는 방법은 무엇입니까?

$echo $var 
$select key from table_test 
UNION ALL 
select fob from table_test 
UNION ALL 
select cal from table_test 
UNION ALL 
select rot from table_test 
UNION ALL 
$ 

내가 UNION 혼자 마지막에 나오는 줄을 제거하고 싶습니다.

+1

'에코 $의 var' 당신이 보여 출력을 생성하지 것입니다,하지만'에코 "$ var에가"'것. – chepner

답변

2

sed 그것을이 파일에서 그것을 할 것 같은 방법으로 작업을 수행 할 수 있습니다

> echo "$var" | sed '$d' 

편집 : $ 파일의 마지막 줄을 나타내며, d 그것을 삭제합니다. 자세한 내용은 here을 참조하십시오.

+0

다음과 같을 수도 있습니다 :'var = $ (sed '$ d'<<< "$ var")' – sat

+0

어떤 결과도 보이지 않습니다. –

+0

변수가 한 줄로 만 의심됩니다. 'echo "$ var"| wc -l'은 1을 반환합니까? – fzd

0

마지막 줄을자를 수 있습니다.

Count=$(echo "$Var" | wc -l) 
echo "$Var" | head -n $(($Count -1)) 

head -n $(($Count -1))에는 표시 할 행 수가 표시됩니다.

0

이 시도 :

last_line=`echo "${str##*$'\n'}"` # "${str##*$'\n'}" value gives the last line for 'str' 
str=${str%$last_line} # subtract last line from 'str' 
echo "${str}"