공백을 대시로 변환

공백을 대시로 변환

여러 줄로 된 파일이 있으면 각 공백을 대시로 변경하고 싶습니다.

나는 이것을 좋아한다:

#!/bin/bash
while read line; do
    echo "${line// /-}"
done

이것은 훌륭하게 작동하지만 더 나은 방법이 필요합니다!

답변1

표준 tr유틸리티는 정확히 다음을 수행합니다.

tr ' ' '-' <filename.old >filename.new

sponge내부 편집과 같은 도구를 사용할 수 있습니다(임시 파일이 사용된다는 사실을 숨김).

tr ' ' '-' <filename | sponge filename

답변2

sed --in-place 's/ /-/g' /path/to/file

답변3

펄 사용:

perl -ne 's/ /-/g;print ' FILE 

답변4

나는 교체를 사용하는 것을 좋아합니다.

replace " " "-" </path/to/file 

관련 정보