スペースをダッシュ​​に変換

スペースをダッシュ​​に変換

複数行のファイルがある場合は、各スペースをダッシュ​​に変更したいと思います。

私はこれが好きです:

#!/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 

関連情報