首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从一系列文本文件中删除不需要的字符。

从一系列文本文件中删除不需要的字符。
EN

Stack Overflow用户
提问于 2022-04-22 02:14:50
回答 1查看 40关注 0票数 0

嗨,我有一个csv文件的列表,这些文件需要通过删除一些不需要的字符来正确地格式化。

原件:

代码语言:javascript
复制
9: ["2019-4-24",-7.101458109105941]
10: ["2019-5-6",-7.050609022950812]
100: ["2019-5-6",-7.050609022950812]

我想将其修改为:

代码语言:javascript
复制
2019-4-24,-7.101458109105941
2019-5-6,-7.050609022950812
2019-5-6,-7.050609022950812

在这种格式中有几十个文件,我正在考虑编写一个sed命令,对目录中的所有文件进行一系列空替换,但这些命令似乎不起作用。

代码语言:javascript
复制
find ./ -type f -exec sed -i '' -e "s/^[[:space:]]*//" {} \; 
find ./ -type f -exec sed -i '' -e "s/\[//" {} \; 
find ./ -type f -exec sed -i '' -e "s/\]//" {} \; 

非常感谢你的建议。

EN

回答 1

Stack Overflow用户

发布于 2022-04-22 02:30:59

我发现这个可以在我的linux机器上工作。

代码语言:javascript
复制
find ./ -type f -exec sed -i "s/^.\+\[//;s/\"//g;s/\]//" {} \;

我收集到的内容相当于macOS中的以下内容:

代码语言:javascript
复制
find ./ -type f -exec sed -i '' "s/^.\+\[//;s/\"//g;s/\]//" {} \;

它由三个替换(用分号分隔)组成:

s/^.\+\[//删除从开始到"[“字符的所有内容。

s/\"//g删除双引号字符的所有出现。

s/\]//在结尾删除最后的"]“。

如果要使用sed -i,请做一个备份或其他什么。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71962745

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档