Как заменить пробел запятой с помощью sed?
Я хотел бы заменить пустое пространство между каждой области с запятой.Может кто-нибудь дать мне знать, как я могу это сделать.Я попробовал команду ниже, но она не работает.спасибо.
My command:
:%s//,/
53 51097 310780 1
56 260 1925 1
68 51282 278770 1
77 46903 281485 1
82 475 2600 1
84 433 3395 1
96 212 1545 1
163 373819 1006375 1
204 36917 117195 1
5 ответов
если вы говорите о sed
, работает:
sed -e "s/ /,/g" < a.txt
на vim
, используйте то же регулярное выражение для замены:
s/ /,/g
внутри vim
, вы хотите ввести, когда в обычном (командном) режиме:
:%s/ /,/g
в приглашении терминала вы можете использовать sed
чтобы выполнить это в файле:
sed -i 's/\ /,/g' input_file
Примечание: the до sed
означает "редактирование на месте", поскольку он изменит входной файл.
Я знаю, что это не совсем то, что вы просите, но для замены запятой на новую строку это отлично работает:
tr , '\n' < file
попробуйте следующую команду, и она должна сработать для вас.
sed "s/\s/,/g" orignalFive.csv > editedFinal.csv
Если вы хотите вывод на терминал, то,
$sed 's/ /,/g' filename.txt
а если вы хотите отредактировать файл то есть если вы хотите заменить пробел запятой в файле, то,
$sed -i 's/ /,/g' filename.txt