これは単純すぎるようですが、まだ達成することは不可能です。私は持っています:
-X-1.5
以下が必要です。
-X1.5
使用:
echo -X-1.5 | tr -d '-'
以下を提供します。
X1.5
近いですが、十分近いわけではありません。
あなたのアドバイスを歓迎します。
答え1
もう一つのsedソリューション
echo "-X-1.5" | sed 's/-//2'
- の2番目の項目を別のものに置き換えます。
答え2
削除したい文字が位置2(0から計算)にあることがわかっている場合は、次のことができます。
VAR="-X-1.5"
echo "${VAR:0:2}${VAR:3}"
これは与えるでしょう-X1.5
。
削除したい文字の最初のインスタンスですが、辞書に場所がわからない場合は、次のようにします。
VAR="X-1.5-oh"
echo "${VAR/-/}"
これは与えるでしょうX1.5-oh
。
答え3
削除する部分は最初、最後、または完全に削除されないため、既知のパターンと一致するより具体的な部分を好む多くの一般的なショートカットを除外するため、実際にパターンが何であるかによって異なります。なります。
-X
-
たとえば、パターンを削除するには、次のようにします。
$ echo "-X-1.5" | sed 's/-X-/-X/g'
結果:
-X1.5
- 探す
-X-
- 次に交換
-X
/g
貪欲に実行するということは、万が一の場合に備えてそのようなすべてのイベントを意味します-X-1.5-X-2.5-X-3.5
。