Полагаю, у вас возникли проблемы, потому что у вас есть обратный слеш при вводе и вы не можете понять, как получить обратный слеш в своем регулярном выражении.Поскольку обратные слэши - это экранирующие символы для обработки и регулярного выражения, вам в итоге приходится вводить четыре обратных слэша, чтобы получить один в своем регулярном выражении.
Бен Ван Кэмп уже опубликовал ответ, в котором используются одинарные кавычки, чтобы немного ускользнуть;однако сейчас я опубликую ответ, который просто полностью устраняет проблему.
grep -o '[0-9]*,[0-9]*' | tr , .
Блокирует запятую, выбирает цифры с обеих сторон и выводит число.С другой стороны, если запятая не гарантируется, мы можем сделать это следующим образом:
egrep -o ' [0-9,]*|^[0-9,]*' | tr , . | tr -d ' '
В обоих из них предполагается, что в каждой строке есть только одно используемое число.