Что-то не так с моим использованием wc или grep в командной строке linux? Я получаю +1 на счет моего персонажа
Когда я бегу
echo "obase=2;3" | bc | grep -v \n\s | wc -m
Баш возвращает 3. Но когда я бегу
echo "obase=2;3" | bc
Баш возвращается 11.
Почему на счету wc -m одна цифра?
1 ответ
Решение
Дополнительный символ - завершающий символ новой строки.
wc -m
получает и считает следующие три символа: 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