小编mic*_*oud的帖子

sed 根据文件中的条件进行多次替换

专家我有一个文本文件,其中有一些数学数据,并且有连字符-,我需要将其替换0MB数字末尾的连字符,也需要将其删除,因此我只能得到数字。

以下是名为 的文件中的示例数据file1

数据:

$ 猫文件1

 3708MB 5073MB 5153MB  0MB
 -    63097MB 9939MB  53376MB
 -    817MB   681MB   271MB
 -    2655MB   692MB   2112MB
Run Code Online (Sandbox Code Playgroud)

我尝试过的:

$ /bin/sed   's/\r//g; s/-/0/g; s/MB//g' tt4
 3708 5073 5153  0
 0    63097 9939  53376
 0    817   681   271
 0    2655   692   2112
Run Code Online (Sandbox Code Playgroud)

column或者只是为了通过命令更好地对其进行列化......

$ /bin/sed   's/\r//g; s/-/0/g; s/MB//g' tt4| column -t
3708  5073   5153  0
0     63097  9939  53376
0     817    681   271
0     2655   692   2112
Run Code Online (Sandbox Code Playgroud)

是否有更好的方法来严格确保仅替换 …

linux bash sed

6
推荐指数
2
解决办法
227
查看次数

标签 统计

bash ×1

linux ×1

sed ×1