진주

진주

내 텍스트 파일의 데이터와 예상되는 출력 형식은 다음과 같습니다.

그림 1

나는 시도했다:

cat test2.txt | tr -d "\t" 

그러나 이것은 작동하지 않습니다. 도와주세요. 예상되는 출력 형식으로 파일을 읽고 추가 루프 처리를 수행해야 하기 때문입니다.

답변1

awk를 사용하세요:

BEGIN { RS = "" ; }

{
    printf "%s %s %s %s %s %s %s\n", $1, $2, $3, $4, $5, $6, $7
}

생산하다:

WEBA 30-MAR-17 NA NOT_STARTED 01-APR-17 25-MAR-17 Target_Not_Started
WEBA 29-MAR-17 NA NOT_STARTED 01-APR-17 25-MAR-17 Target_Not_Started
WEBA 28-MAR-17 NA STARTED 01-APR-17 25-MAR-17 Target_Started

답변2

필요한 경우 bash를 사용할 수 있습니다. 루프와 if 조건을 사용하세요. 예를 들면 다음과 같습니다.

#!/bin/bash
filename="/root/a.txt"

while  read -r line
do
 if [ "$line" != "" ]; then

 echo $line |tr -d "\n"

else
 echo   ""
fi

done <"$filename"

답변3

진주

perl -l -00pe 'y/\n/ /' yourfile | column -t

< yourfile \
   sed -ne '
      /^WEBA/,/^$/!d
      /^$/g
      s/\n/ /gp
      H
      /^WEBA/h
   ' \
| column -t

관련 정보