리눅스 script 질문입니다!

likeoran15의 이미지

C_AB abc abc
ddd aaa
ccc ddd

위같은 파일에서 C_AB를 추출하여 맨마지막줄에 삽입하려고 하는데요,
'C_AB'라는 내용은 달라질수 있고 1번째 줄 1번째 필드에 있는 내용을 맨 마지막줄 마지막에 붙여 넣기만 하면 됩니다.
나와야 되는 출력은 다음과 같습니다.

C_AB abc abc
ddd aaa
ccc ddd C_AB

어떻게 하면 될까요?

백연구원의 이미지

아 질문을 잘못봤습니다..


소곤소곤

nomail의 이미지

bash 스크립트도 되지만 sed로 간단하게..

sed -n '$!{p;s/^\(C_AB\(\s\|$\)\).*/\1/;T;h};${G;s/\n/ /p}' infile

T명령이 gnu sed 확장이라 아마 bsd나 다른 버전은 안될겁니다.

esrevinu의 이미지

#!/bin/sh
 
FIRST=
 
while read LINE; do
  if [ -z $FIRST ]; then
    FIRST=$(echo "$LINE" | cut -d\  -f1)
    echo -ne "$LINE"
  else
    echo -ne "\n$LINE"
  fi
done
 
echo -ne " $FIRST\n"