AWK 사용 후 줄 구분 기호

AWK 사용 후 줄 구분 기호
awk -F ';' '{print $1}' FileName

이 명령을 사용하여 세미콜론으로 구분된 파일의 첫 번째 열을 인쇄합니다.

이제 위 명령의 출력을 반복해야 합니다. 내 출력이

0
1
2

각 레코드를 반복해야 하며 반복 출력에서 ​​레코드 구분 기호가 무엇인지 지정해야 합니다.

아래와 같이 출력을 인쇄하는 방법이 있습니까?

0;1;2

이렇게 하면 구분 기호가 ;

답변1

후행 세미콜론을 피하세요

 awk -F\; 'NR>1 { printf ";" ;} {printf "%s",$1;} END {printf "\n"} '
  • printf줄 바꿈을 인쇄하지 마십시오
  • NR>1첫 번째 줄 이후에만 인쇄
  • END마지막 줄 이후에 인쇄합니다.

답변2

awkORS(출력 레코드 구분 기호)의 값은 각 명령문의 끝에 출력됩니다 print. 기본적으로 개행 문자이지만 변경할 수 있습니다.

$ cat foo.txt
0;3;6
1;4;7
2;5;8
$ awk -vORS=';' -F';' '{print $1} END {printf "\n"}'  foo.txt
0;1;2;

END {printf "\n"}출력 끝에 줄을 줄 바꿈하기 위해 추가했습니다 .

답변3

coreutils를 사용할 수도 있습니다.

<foo.txt cut -d';' -f1 | paste -sd';'

관련 정보