단일 열 파일을 단일 행 파일로 변환하는 방법은 무엇입니까?

단일 열 파일을 단일 행 파일로 변환하는 방법은 무엇입니까?

여러 행의 한 열을 하나의 행으로 변환하고 싶습니다.

예:

1
1
1
1
1
2
2
2
3
3
4

그리고 나는 원한다:

11111222334

어떤 제안이 있으십니까?

답변1

반죽:

$ paste -s -d "" file
11111222334

구분 기호 없이 모든 줄을 함께 압축합니다.

또는 이러한 솔루션은 후행 개행 문자도 제거합니다.

perl -pe chomp file
awk -v ORS="" 1 file

답변2

다음을 사용하여 모든 개행 문자를 제거할 수 있습니다 tr.

tr -d \\n <infile

출력에는 후행 줄 바꿈이 없으므로 필요한 경우(예: 다른 파일로 리디렉션):

{ tr -d \\n <infile; printf \\n; } >outfile

반대로 필드를 공백으로 구분해야 하는 경우 다음을 실행할 수 있습니다.

row=$(tr \\n \   <infile)
printf %s\\n "${row%?}" >outfile

하지만paste여기 진짜 빛난다...

답변3

명령을 에코하고 출력을 새 파일로 보낼 수도 있습니다.

$ echo $(cat file) >> rows.txt

각 줄 사이의 공백을 방지하려면 같은 줄에 sed를 사용할 수 있습니다.

$ echo $(cat file) | sed 's/ //g' >> rows.txt

관련 정보