如何解决如何将零的新列添加到文件?
我有10000行的文件,例如
1.2341105289455E+03 1.1348135000000E+00
我想拥有
1.2341105289455E+03 0.0 1.1348135000000E+00 0.0
并在其中插入“ 0.0”列。
我试图将'space'替换为'0.0',但是我认为这不是最好的解决方案。我尝试使用awk,但只能在文件末尾添加“ 0.0”。
我敢肯定有更好的解决方案。你知道怎么做吗?啊?蟒蛇? emacs?
解决方法
使用此Perl单线版:
perl -lane 'print join "\t",$F[0],"0.0",$F[1],"0.0"; ' in_file > out_file
perl单行代码使用以下命令行标志:-e
:告诉Perl在代码中而不是在文件中查找代码。-n
:一次遍历输入一行,默认情况下将其分配给$_
。-l
:在直接执行代码之前,先剥离输入行分隔符(默认为* NIX上的"\n"
),并在打印时附加它。-a
:将$_
拆分为空白或@F
选项中指定的正则表达式上的数组-F
。
另请参见:
perlrun: command line switches
,与awk
awk '{print $1,$2,"0.0"}' file
如果要就地修改文件,可以通过GNU awk
添加-i inplace
选项,或在现有命令中添加> tmp && mv tmp file
来完成。但是请始终先运行而不更换它,以对其进行测试并确认输出。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。