리눅스에서 ls -1 의 여러줄 결과를 한줄로 합치기

리눅스 bash 에서 쉘스크립트를 만들고 있습니다.

ls -1 하면 아래같이 하면 파일, 디렉토리들이 여러줄로 결과가 나오는데 

> ls -1

log_201201
log_201202
log_201203
log_201204 

이것을 아래같이 , 로 구분해서 (또는 다른 원하는 구분자로) 한줄로 합치고 싶습니다.

> 명령

log_201201,log_201202,log201203,log201204 
 
좋은 방법 없을까요?

답변 5개

  • 투표순▲ 투표를 가장 많이 받은 순서로 정렬
  • 작성일순최신 작성된 순서로 정렬
(1)
이런방법은 어떨까요?

다른방법보단 조금 더 간단하네요. 끝에 구분자도 안붙고~

ls -1 | paste -sd ","

 
(2)
"에스티로더"님과 같이 줄바꿈을 원하는 구분자로 바꾸기때문에 결과 줄 끝에도 구분자가 들어갑니다.

그것을 지우려면 아래와 같이 하면 되지만... 먼가 좋은 방법 있을것같긴 한데..

ls -1b | tr '\n' ',' | sed 's/,$/\n/'

 
(3)
그냥 ls -1 을 하면 줄바꿈에서 약간 문제가 있을 수 있기때문에 -b 옵션을 주시는게 좋습니다.

ls -1b | tr '\n' ','
(4)
콤마(,)로만 구분하고 싶으시다면. (다른구분자는 안되요)

ls -m 
(5)
이렇게 하시면...

ls -1 | tr "\n" ","

답변쓰기

관련 post

K

리눅스 date 명령 : 어제(과거) , 내일(미래) 날짜, 시간 구하기