如何使用sed重新组织文件

时间:2018-05-09 19:45:54

标签: sed

我有一个文件到处都是,我是一个整洁的怪物,我觉得不舒服与公共网站共享我的文件,所以说这个文件被称为同步,看起来像这样

hh-hhhhhhhh-hhhhhhhh - sdgsg
hh-dgsdgdfgsgsdfgdgsdgsssd - dhhdhdh
fd-gdsg - dfsggs
dgssd-gdgsdg - fsdgsdg
dfgdg-sdgsgsdgsdgs - dghgdgs
dfsg-sdgdgdg - dsggg
sdgsdgdg-sgsgsdgsdggs;

我做了一个

sed -i 's/-/;/p' sync

因为我想要一个;在每一行的末尾,我尝试使用像

这样的特殊字符
sed -i 's/\* - \*/;/p' sync

是否有可能在最后一个破折号之后改变所有东西,只有一个半冒号,让它像这样组织

 ggf-sdgsdfgfg;
 dg-gdfggdg-ggdfgdg;
 dggsdhds-hsdhshddgfdg;
 dgdhg-dggdggdgdgdfgdg-dfgg;
 fdgdgf-gdgfgd-fgdfgdgdgdgdgdg;
 dgdgdgd-gdfgdggdgdf-ggdfgdfgdggd;

1 个答案:

答案 0 :(得分:0)

如果你的目标是移除空格并在每行的末尾加上分号,你可以试试这个:

sed 's/$\|;$/;/g' sync | sed 's/ //g' > output

说明:第一个命令用一个[分号]替换所有[行尾]或[分号后跟行尾]。第二个sed命令用[nothing]替换所有[空格]。

希望它有所帮助! :)