複数行のファイルがある場合は、各スペースをダッシュに変更したいと思います。
私はこれが好きです:
#!/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