首页 > 解决方案 > 从末端分割线(跨平台)

问题描述

我有需要拆分的文本;即,在行尾的两个字符后放置空格。从“ 4.20GB ”你需要得到“ 4.20GB ”。我知道它可以用sed,awk等来完成,但我正在寻找一种轻便且更跨平台的方法(适用于 Linux/Unix/BSD)。

bash有可能用它的功能来做吗?出于某种原因,我认为printf可以做到,但快速检查并没有产生任何积极的结果。

标签: bashreplace

解决方案


如果我理解正确,每行以一些数字结尾,后面跟着 GB,需要你在 GB 之前添加一个空格。我不应该使用分裂这个词来暗示你想把一行分成两行。

尝试:

sed -i 's/GB$/ GB/' [filenames ...]

我认为这sed比 更“跨平台” ,因为正如@fuxoft 在他的回答中所说,bash无论您拥有什么bash,您都可以轻松拥有。sed


推荐阅读