마지막 줄을 읽고 숫자로 변환

마지막 줄을 읽고 숫자로 변환

제목, 예고편, 세부정보가 포함된 텍스트 파일이 있습니다.

체재:

H20161010XXX                        // record length: 880  
D<---details----total length 880--->
D<---details----total length 880--->
T2016101020161010          00004    // record length : 880  

"00004"를 구문 분석하고 이에 대해 몇 가지 계산을 수행하고 싶습니다.

예고편 레코드를 읽었지만 00004를 구문 분석할 수 없습니다.

trailer=`tac $FILE | grep -m 1 '.'`
echo $trailer 
count=$(trailer:29:5)
echo $count

산출:

T2016101020161010          00004

00004를 선택할 수 없습니다.

00004의 시작 위치와 길이는 고정되어 있으므로 하드코딩할 수 있습니다. 또한 변수에 저장하고 산술 연산을 수행하고 싶습니다.

ksh를 사용하여 쉘 스크립트를 작성하고 있습니다. 매우 감사합니다!

답변1

$trailer를 얻은 후:

count=$(echo $trailer | cut -d' ' -f2)
echo $count

답변2

부분 문자열을 얻으려면 중괄호를 사용하십시오.

count=${trailer:29:5}

"${trailer:27:5}"를 사용하여 복사/붙여넣기한 예가 더 정확해 보입니다.

관련 정보