[완료] 쉘스크립트에서 파일 한줄씩 읽어들인후 특정문자 추가하기

shimtong의 이미지

쉘스크립트를 작성하고 있는 도중 궁금한점이 있어서 질문드립니다.

파일에 있는 문자들을 불러와서 특정 문자를 넣고 싶은데요,
마지막 문자 뒤에는 특정문자를 안넣고 싶은데 방법을 모르겠습니다.

파일명 : DATA.TXT
파일내용 :
AAA
BBB
CCC

#!/bin/sh
while read line;
do
        echo $line
        echo '|||'
done < DATA.TXT

이렇게 할시에
AAA
|||
BBB
|||
CCC
|||

이런 형태로 출력이 되는데요
이것을
AAA
|||
BBB
|||
CCC

이런식으로 마지막 CCC 뒤에는 '|||' 문자가 붙지않도록 하는 방법이 있을까요?

혹시 알고 있는분 계시면 답변 부탁드리겠습니다.

woonuk의 이미지

#!/bin/bash
 
INPUT=DATA.TXT
 
count=`wc -l < $INPUT`
 
num=1
 
while read line;
do
        if [ $num -ne $count ]; then
                echo "${line}|||"
        else
                echo $line
        fi
        num=$((num+1))
done < $INPUT
auditory의 이미지

sed ':a;N;$!ba;s/\n/\n|||\n/g' DATA.TXT

newline을 replace하는 방법입니다..