Использованиеsed
:
sed 's/,*$//' infile
это будет соответствовать нулю или более запятым в конце каждой строки. В некоторых реализациях sed
вы можете указать sed
сопоставить один или несколько в конце с:
sed 's/,\+$//' infile
(переносимым/стандартным эквивалентом является ,\{1,\}
, так что вы можете также использовать ,,*
или ,*
, которые сделают то же самое ).
Или с GNU grep
или совместимым:
grep -o '.*[^,]'
Это напечатает только -o
все, пока последняя не -запятая (будет иметь побочный эффект удаления пустых строк, хотя ).
Или с GNU awk
илиmawk
:
awk '1' RS=',*\n' #or
awk '1' RS=',+\n'
Это определяет R оператор записи S как регулярное выражение из,*\n
(ноль запятых или,+\n
(одну или несколько запятых )до \n
ewline.
В 1
есть просто всегда истинное условие, которое приводит к печати записей и игнорированию RS .
Или вperl
:
perl -pe 's/,*$//' #or
perl -pe 's/,+$//'
Можно просто использовать virtualenv
для обработки этого:
python3 -m venv env
source env/bin/activate