を私は-
ですべてのスペースを交換し、ラインを例とすべてのスペースを置き換え " - "
asd asd
ため、-
はbashでsedを使用して含まれている場合だけのスペースを削除したい - >asd-asd
asd - asd
- >asd-asd
$ sed '{
s/ *- */-/g;
s/ \+/-/g;
}' input_file_name > output_file_name
:
を私は-
ですべてのスペースを交換し、ラインを例とすべてのスペースを置き換え " - "
asd asd
ため、-
はbashでsedを使用して含まれている場合だけのスペースを削除したい - >asd-asd
asd - asd
- >asd-asd
$ sed '{
s/ *- */-/g;
s/ \+/-/g;
}' input_file_name > output_file_name
:
あなたは、スペースやダッシュを一致させるとことで置き換えることができます単一のダッシュ:
s/[ -]\+/-/g
私は2つのsedの行を使用する場合がありますスペースをダッシュだけにします。 2行目はスペースの文字列を1つのダッシュに置き換えます。代わりに変更のため
、-i
を使用します。
$ sed -i '{
s/ *- */-/g;
s/ \+/-/g;
}' input_file_name
フォーマットが問題である場合、これは、単一の行に減らすことができます。
$ sed -i '{ s/ *- */-/g; s/ \+/-/g; }' input_file_name
tr
-s
オプション(「スクイーズ」):
$ tr -s ' ' - <<< 'asd asd'
asd-asd
$ tr -s ' ' - <<< 'asd - asd'
asd-asd