예를 들어, 항목에 10개의 열이 있고 출력에 5개의 열이 있기를 원합니다. 보다 구체적으로 말하면, 열 1을 열 2와, 열 3을 열 4, 열 5를 열 6과 결합하고 싶습니다.
내 입력은 다음과 같습니다.
ID01 1 2 0 1 2 0 1 0
ID02 1 0 1 0 1 0 1 0
ID03 2 1 0 2 1 0 2 1
ID04 5 0 5 0 5 2 1 2
내 입력은 다음과 같습니다.
ID01 12 01 20 10
ID02 10 10 10 10
ID03 21 02 10 21
ID04 50 50 52 12
이를 위해 나는 다음을 시도했습니다.
perl -alne 'print join "", $F[0], split(" ", $F[1])' data
하지만 두 문자/열을 분할하는 방법을 모르겠습니다. 내 실제 데이터에는 수십만 개의 열이 있습니다.
답변1
다른 모든 공백을 제거하십시오.
perl -pe 's/ (\S+) / $1/g'
\S
"공백이 아님"을 의미합니다.
답변2
그리고 awk
:
awk '{ print $1, $2 $3, $4 $5, $6 $7, $8 $9 }' /path/to/input