server:~# cat file1.txt
abc
pqr
xyz
다음과 같이 변환하고 싶습니다.
abc,pqr,xyz
다음 명령을 사용하고 있습니다
server:~# cat file1.txt | tr "\n" ", "
abc,pqr,xyz,server:~#
내 입력에는 n개의 행이 포함될 수 있지만 우리의 입력에는 포함되지 않습니다.
달성하는 방법...
server:~# cat file1.txt | tr "\n" ", "
abc,pqr,xyz
server:~#
답변1
paste
다음 명령을 사용할 수 있습니다.
paste -sd, file1.txt
기본적으로 paste
여러 파일의 줄은 탭으로 구분되어 나란히 붙여넣어지며 -d
이 옵션은 대체 구분 기호를 설정하고 -s
줄 바꿈하도록 지시합니다.에스한 번에 하나의 파일(또는 이 경우 단일 파일)에서 직렬화합니다.
답변2
paste -sd,
합리적이지만 대안을 원하거나 행을 결합하는 것보다 입력으로 더 많은 작업을 수행하는 경우:
$ awk '{printf "%s%s", (NR>1 ? "," : ""), $0} END{print ""}' file
abc,pqr,xyz