Bash,sed不会用分号覆盖

时间:2018-04-05 12:42:27

标签: bash sed

hy,我必须编写一个脚本来获取ps的输出并在csv文件中重写它;问题是我必须用“;”分隔每个阵营但是sed不想接受它,我试着用:

ps --no-headers -o "%u : %U : %p : %a" | sed -e 's/\:/";"/' > file.csv

但它不起作用因为它覆盖:用“”而不是用; 每个人都可以帮助我吗?

编辑: 我有另一个问题:我需要营地用户,pid,命令,开始时间和cpu时间,但我必须将它写在csv文件中,每个阵营除以;所以问题是,我必须运行它的电脑不接受%T的开始时间所以我不知道如何做这个脚本

1 个答案:

答案 0 :(得分:2)

这个ps命令好像不能在我的Mac上运行但是如果问题出在sed上,那么从它的引号中取;就可以解决它。 sed -e 's/\:/;/'

但是,这只会替换第一个:

所以我想 您需要sed -e 's/\:/;/g'