-1

私が走るとき

echo "obase=2;3" | bc | grep -v \n\s | wc -m

bashは3を返します。しかし、実行すると

echo "obase=2;3" | bc

bash は 11 を返します。

wc -m のカウントが 1 桁高いのはなぜですか?

4

1 に答える 1

4

余分な文字は末尾の改行です。

wc -m次の 3 文字を受け取り、カウントします: 1 1 \n.

$ echo "obase=2;3" | bc | grep -v \n\s | od -c
0000000    1   1  \n                                                    
0000003

改行を取り除くと、カウントは期待どおりになります。

$ echo "obase=2;3" | bc | grep -v \n\s | tr -d '\n' | wc -m
       2
于 2013-01-20T17:01:25.920 に答える