2つの文字列を比較しますが、スペースを無視する方法は?私は次のことをしています:
if [ "$a" == "$b" ]; then
echo ok
fi
ところで似合わないようです。 「a」と「b」が何であるかを印刷しましたが、どちらも同じです。しかし、彼らは別の改行を使用しているようです。
ベストアンサー1
技術的にすべてのスペースを無視するには、次の2つの文字列を渡すことができますtr
。
[ "$(echo "$a" | tr -d '[:space:]')" = "$(echo "$b" | tr -d '[:space:]')" ]
ただし、これを行うと、比較する前にすべてのスペースが削除されるため、たとえば、および"a b"
同一"ab"
性をテストします。これが望ましいかどうかはわかりません。tr
必要な操作を実行するようにフィルタを調整できます。たとえば、すべてのスタイルの改行のみを削除するには、次のようにしますtr -d '\n\r'
。