[Shell Script] 어떻게 풀어야 할지 감이 안오네요
글쓴이: helperchoi / 작성시간: 수, 2018/04/18 - 10:20오후
cat test
111
222
333
444
555
666
cat test.list
222
333
[ Script 내용 ]
cat test.sh #!/bin/bash export LANG=C export LC_ALL=C RUNCNT=`cat ./test | wc -l` for ((RUN=1; RUN <= RUNCNT ; RUN++)); do PRINT_LINE=`sed -n ${RUN}p ./test` WORKING_LIST=`cat ./test.list` for LIST in ${WORKING_LIST} do MODIFI_LINE_NO=`grep -n "^${LIST}" ./test | cut -d ":" -f1` if [ ${RUN} -eq ${MODIFI_LINE_NO} ] then echo "MMM - `sed -n ${RUN}p ./test`" fi done echo ${PRINT_LINE} done
[ 실행 결과 값 ]
sh ./test.sh
111
MMM - 222
222
MMM - 333
333
444
555
666
[ 원하는 결과값 ]
111
MMM - 222
MMM - 333
444
555
666
위 원하는 결과 값 처럼 뽑고 싶은데 어디를 어떻게 수정해야 할지 도저히 감이 안오네요;;
오늘 하루종일 삽질을........
도와주세요 ㅠㅠ
Forums:
음 ..
되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』
저도 혼자 더 고민해보고 자답을 적어봅니다.
이제는 대세다!
동작은 할 것 같습니다만, test, test
동작은 할 것 같습니다만, test, test.list를 읽어 들이는 회수는 ymir님의 코드에 비해서 비경제적입니다. ^^
스크립트는 최대한 동일한 파일 입력은 줄이는 것이 좋습니다.
---
http://coolengineer.com
comm -2 test test.list | sed
댓글 달기