shell 프로그램으로 원하는 정보가 있는 라인만 출력하고픈데..
-- start --------------------------------------------------------------
File: ipcd.c Status: Up-to-date
Working revision: 1.26
Repository revision: 1.26 /home/cvs/src/wintegra-v1.1.2/wddi/wintegra/examples/ipcd/ipcd.c,v
Sticky Tag: (none)
Sticky Date: (none)
Sticky Options: (none)
Existing Tags:
Rel_V0108 (revision: 1.26)
rel_test (revision: 1.26)
Rel_V1017 (revision: 1.25)
Rel_V0104 (revision: 1.23)
IW_BUFFER_SEPERATED (revision: 1.10)
OAM_ENABLED_BUT_CANNOT_BE_FORWARDED (revision: 1.10)
LEARNING_ENABLE_2003_09_28 (revision: 1.10)
---------------------------------------------------------------------
에서 tag별로 버전을 비교 하고 싶어서 그러거든요. 따라서 제가 보기만을 원하는 라인, 즉
File: ipcd.c Status: Up-to-date
Rel_V0108 (revision: 1.26)
Rel_V1017 (revision: 1.25)
이렇게만 보고 싶습니다. 다만 조건이 있다면, cat으로 한번만 전체 문장을 읽어서 표현하기를 원합니다. 왜냐면. 실제로는 위의 저런 패턴이 많은 문장입니다.
제 개인적으로 다음과 같이 스크립트를 작성해서 해보려하는데 안됩니다.
#! /bin/bash
echo Enter previous TAG name :
read $PTAG
echo Enter current TAG name :
read $CTAG
for i in $( cat ipclog.txt ); do
if [ "$i" = "File:" ]; then
echo $i Name : $( awk '{print $2}' ) <-- 결정적으로 이곳 처리가 안됩니다. 또한 이거보다는 특정문자를 변수로 받아서 같은 스트링이 존재하면 그 라인을 출력하게 하는 것이 날듯 싶습니다.
fi
done
많은 조언 부탁드립니다.
댓글 달기