파일이 있다고 가정해 보겠습니다.
파일 1:
PAPER TEAM MANISH NISHA GARIMA JYOUTI ........etc
파일 2 내가 원하는 것:
PAPER
TEAM
MANISH
NISHA
GARIMA
JYOUTI
File1의 행에서 열로의 변환.
답변1
tr
반복되는 각 공백 문자( )를 단일 개행 문자( )로 바꾸는 데 사용합니다
\n
.
tr -s ' ' '\n'< infile > outfile
그런데 당신도 이런 걸 원하는 것 같은데요?
원래 | 바꾸어 놓다 |
---|---|
0 1 2 3 |
0a # |
우리는 할 수있어 awk
:
awk '{ for (i=1; i<=NF; i++) RtoC[i]= (i in RtoC?RtoC[i] OFS :"") $i; }
END{ for (i=1; i<=NF; i++) print RtoC[i] }' infile
이는 각각의 동일한 필드 번호 위치를 연결하고 END
결과(예: 첫 번째 열의 첫 번째 행, 두 번째 열의 두 번째 행 등)를 인쇄합니다. 물론 입력 파일은 메모리 크기로 제한됩니다.
답변2
다음 명령을 사용할 수도 있습니다 fmt
.
~$ cat f
PAPER TEAM MANISH NISHA GARIMA JYOUTI
~$ fmt -1 f
PAPER
TEAM
MANISH
NISHA
GARIMA
JYOUTI
답변3
그리고GNU 데이터 혼합:
$ datamash -W transpose <file
PAPER
TEAM
MANISH
NISHA
GARIMA
JYOUTI
답변4
다음을 사용하여 awk
출력 필드 구분 기호( OFS
)를 레코드(행) 구분 기호( RS
) 로 설정합니다.
awk '{OFS=RS;$1=$1}1' file > file2