我有一个c程序,它生成许多数据文件,每个文件包含三列.现在,在每个这些数据文件中都可能存在一些异常条目,其中第三列将具有-nan.如何编写脚本以便打开每个数据文件并查找第三列具有nan的所有行并删除所有这些行?
是否可以在bash或python中编写可以执行此操作的脚本?
例:
100 0.1 15.8334
100 0.2 16.7895
100 0.3 -nan
100 0.4 15.8543
100 0.5 -nan
在这个文件中,我希望删除第3行和第5行,以便我的文件看起来像
100 0.1 15.8334
100 0.2 16.7895
100 0.4 15.8543
解决方法:
sed -i -e '/-nan/d' datafile.txt
要对多个文件进行操作,可以将“datafile.txt”替换为与所有文件匹配的glob,或者使用for循环
for file in data1.txt data2.txt data3.txt; do
sed -i -e '/-nan/d' $file
done
或者也许是find命令:
find . -name "data*.txt" -exec sed -i -e '/-nan/d' {} +
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。