0
awk 출력을 열에 표시하고 이전의 끝에 하나를 추가하지 않으려면 어떻게해야합니까?awk가있는 열의 출력을 표시합니다.
awk 출력을 열에 표시하고 이전의 끝에 하나를 추가하지 않으려면 어떻게해야합니까?awk가있는 열의 출력을 표시합니다.
print
명령은 출력을 새로운 행으로 종료합니다. 따라서 각 데이터 항목이 새 행에 표시되는 이유가 나타납니다.
printf
으로 바꾸면 각 출력이 '현재'출력 줄에 남습니다
는 예를 들어, 당신은 명시 적으로 필드 분리 (예를 들어, 공백, 탭)를 지정해야합니다 유의 사항 :
printf "%s\t",$4 # will print field $4 followed by a tab
를 그리고, 당신은 당신이 print ""
를 실행할 수 있습니다 라인을 종료하고자 할 때 또는 printf "\n"
을 입력하여 출력 끝에 새 줄 문자를 추가하십시오. 당신은 필드 구분자로 탭을 원하는 가정
, 당신은 같은 하나의 명령으로 다양한 awk
명령을 결합 할 수 있습니다 :
$ awk '
/^Query=/ {split($0, a, ".") ; printf "solani.%s\t",a[4]}
/^$/ {q=1}
/Length/ && q {split($0, b, "=") ; printf "%s\t",b[2]}
/./ {q=0}
/^>/ {split($0, c, ".") ; printf "dadantii.%s\n",c[4] }
' file
solani.1 76 dadantii.2053
것은 아마 할 수있는 간단한 일이 아닌 줄 바꿈의 출력 탭입니다. 즉,'print 'solani 대신에'printf "% s \ t", "solani"를 사용하십시오. a [4]'끝나는 줄 바꿈이 없지만 쉽게 끝낼 수 있습니다. 고치다. –
예! 내 게시물을 업데이트했습니다 (미안) –
ummm, 출력 값의 두 번째 세트를 추가했습니다. 그것들은 같은 소스 파일이나 다른 소스 파일에서 나온 것인가? 다른 방법으로 말하자면 하나의 파일에서 얼마나 많은 출력을 추출 할 것으로 예상합니까? 파일에서 하나 이상의 데이터 집합을 추출 할 수 있다면 질문을 업데이트하여 소스 파일에서 2 세트의 데이터가 어떻게 보이는지 확인하십시오. – markp