trコマンドはcygwin bash.exeシェルで問題を引き起こしますが、mintty.exeで動作します

StackOverflow https://stackoverflow.com//questions/11652672

  •  11-12-2019
  •  | 
  •  

質問

Cygwinを使ってWindowsを使用します。次のコマンドは、文字列 "./bootstrp3.cab"の「/」の発生数を出力する必要があります。Mintty.exeシェルを使用して "1":を出力すると機能します。

echo ./bootstrp3.cab | tr -cd / | wc -c
.

残念ながら、bash.exeシェルで次のメッセージを出力します。

Usage:
tr [-cs] string1 string2
tr -s[-c] string1
tr -d[-c] string1
tr -ds[-c] string1 string2
.

2つのシェルは異なる動作をしているようですが、両方とも同じ種類のシェルがあるようです、Bash.exeはecho $0とMintty.exe出力を出力します。

Bourneシェル(sh.exe)を使用してコマンドを試しましたが、Bash.exeシェルと同じメッセージを出力します。

sh.exeまたはbash.exeシェルを使って働くコマンドをどのように得ることができるか誰もが知っていますか?そして誰かが2つのバッシュシェルが異なる振る舞いをする理由を知っていますか?

役に立ちましたか?

解決

sedwcを使用して同じことを実行できます。

echo -n ./bootstrp3.cab | sed 's![^/]!!g' | wc -c
.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top