加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

用于更改文件间距的Bash或python

发布时间:2020-12-16 01:56:20 所属栏目:安全 来源:网络整理
导读:我有一组10000个文件.在所有这些中,第二行看起来像: AAA 3.429 3.84 所以AAA和其他两列之间只有一个空间(要求).每个文件上的其余行完全不同,对应10列数字. 随机地,大约20%的文件,并由于一些错误,一个人得到 BBB 3.429 3.84 所以现在第一列和第二列之间有两
我有一组10000个文件.在所有这些中,第二行看起来像:

AAA 3.429 3.84

所以AAA和其他两列之间只有一个空间(要求).每个文件上的其余行完全不同,对应10列数字.

随机地,大约20%的文件,并由于一些错误,一个人得到

BBB  3.429 3.84

所以现在第一列和第二列之间有两个空格.

这是一个很大的错误,所以我需要修复它,在发生错误的文件中从2变为1.

我想到的第一种方法是编写一个bash脚本,每个文件读取第二行的3个值,然后用一个空格打印它们,为所有文件执行.

我想知道oyu对这种方法的看法是什么,如果你能提出更好的建议,bashm python或其他方法.

谢谢

解决方法

在sed中执行基于行的文本文件更改通常最简单.

sed -e '2s/  */ /g' infile.txt

将用一个空格替换多个空格的任何运行.但是,这可能会比您想要的更改.

sed -e '2s/^([^ ]*)  /1 /' infile.txt

应该只用一个空格替换第一个无空格文本块后的两个空格的实例(虽然我没有测试过).

(编辑:在每个实例中在s之前插入2以将编辑绑定到第二行,具体而言.)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读